问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery怎么根据html()的内容来选择?

发布网友 发布时间:2022-04-25 23:54

我来回答

4个回答

懂视网 时间:2022-04-20 21:52

  使用JQuery,可以很容易的选择THML元素。但在有些时候,HTML结构比较复杂的时候,提炼我们选择的元素就是一件比较麻烦的事情。

1、children

  这个函数得到一组元素的直接子级。

  给children()传递一个选择表达式将选择结果缩小至选中的元素;

  如果chilidren()每接受任何参数,将返回所有直接子级;不返回它的孙级元素。

2、filter

  这个函数通过传递的选择表达式从一个集合中过滤元素。任何不匹配这个表达式的元素将从选择的集合中移除。

3、not

  与filter恰恰相反,not()从集合中移除匹配的元素。

4、add

  如果我们想在集合中增加一些元素怎么办?add()函数正是做这件事的。

5、slice

  有时候,我们需要根据元素在集合的位置获取集合的子集。sliece()正是做这个的。

  第一个参数是从零开始的第一个元素的位置,它包含在返回的片段中;

  第二个参数是从零开始的第一个元素的索引。不包含在返回的片段中。如果省略,将延伸至集合的末尾;

6、parent

  parent()函数选取一系列元素的直接父级。

7、parents

  这是复数形式,parents()选择集合的所有祖先元素。我的意思是所有祖先元素包括直接父级到“body”和“html”元素。所以最好通过传递表达式缩小选择结果。

8、siblings

  这个函数选择一组元素的所有兄弟姐妹,传递一个表达式可以筛选结果。

9、prev & prevAll

  prev()函数选择前一个兄弟节点。prevAll()选择一个元素集合前面所有的兄弟节点。

10、next & nextAll

  这些函数与prev和prevAll工作方式相同,不过它选择的是下一个兄弟姐妹。

热心网友 时间:2022-04-20 19:00

$(":contains('First')");//这种是jquery内置的包含选择器,但是因为是包含,因此选择的内容只要包含“First”就会选中。

另外一种通用的。用过滤函数。

$('*').filter(function(index, el){
    var childNodes = el.childNodes;
    return childNodes.length === 1 && childNodes[0].nodeType === 3 && childNodes[0].nodeValue === 'First';
});

但上面的这种方式只适合你这种情况,如果你的li元素像下面这样:


<ul>
<li>First<a href="">这是链接哦</a>
</ul>

也是不行的。就是说,必须元素下只有文字,不再有其他元素。

追问你们没懂我的意思,我的意思是问jquery有没有直接选择的方法,而不是遍历.
如果遍历的话,下边的这段代码你看看是否可以.
$("li").filter(function () {
return $(this).html().trim() === 'First'
});

追答jquery选择器在支持querySelector的情况下。用的是css选择器。如果不支持css选择器,jquery内部的选择器用的是sizzle.js。所以说,无论如何,要查找某个文档元素,必然是需要遍历的,要么是浏览器的css选择器帮你遍历,要么是jquery的sizzle帮你遍历,要么就是你自己遍历。

现在你想要根据html的内容筛选元素,首先我要说,这种方式的效率是极为低下的,css选择器里没有这种选项。jquery也仅仅提供了$(":contains('First')")这种选择器。跟你的要求最为接近。

至于你想要jquery直接帮你完成你的要求,这是绝对不可能的。没有这样的函数帮你实现。因为这样的函数效率太低了。

用filter的方式,你写的方式当然是可以的,但也仅此而已,不能适应其他的情况。

热心网友 时间:2022-04-20 20:18

first 是第一个li里面的 你可以获取第一个li试试

$('ul li:first')

追问这我知道啊,我是说当有很多个li的时候,怎么确定哪个是我需要的?

追答

可以啊;

用另外一种方法

这是我写的一个例子,Jquery库文件自己引入下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$(function(){
var xx=$('.box p').text();
if(xx=="联系我们"){
$('.box p').text('加入我们');
}
})
</script>
</head>

<body>
<div class="box">
<p>联系我们</p>
</div>
</body>
</html>

热心网友 时间:2022-04-20 21:52

<script>
$("li").click(function(){
var num = $("li").index(this);
if(num == 0){
alert($(this).html())
}
});
</script>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 移动硬盘的损坏原因 新手养仓鼠,笼子里面都应该放些什么配套设施? jQuery动态加载html 为什么jquery在我的html中不能用? Jquery 中 html+= ...是什么意思? 如何做债权申报 什么原因使移动硬盘出现坏道? 读后感800字高中生 《一袭青衫》 在jQuery中怎样调取html文件到当前页面中? 现在一只黑色小泰迪多少钱能买 跪求五篇800字往上的读后感,高中生水平的 写毛笔字该注意些什么 关于js,jquery拼成html的问题 黑色泰迪价格多少合适 草原上的小木屋试卷和答案 800字的中学生读后感? 毛笔字该怎么写? 急求3篇高中生750-800字读后感!一篇观后感!!一篇科技小论文!!!!可加分!! jquery.html() 内容变了但是读取的内容没有变化 一岁黑色泰迪狗多少钱一只 仓鼠笼里边,需要垫什么东西? 硬盘经常出现坏道是什么引起的? jQuery如何向HTML添加指定的内容 仓鼠笼里铺上什么 利用jQuery操作HTML元素的方法 仓鼠夏天笼子里面铺什么? 移动硬盘用了几次就有坏道了 仓鼠笼里可以放植物吗? 如何将Jquery的代码写到HTML里面啊? 仓鼠的笼子里有好多的蚂蚁,怎么办? 硬盘坏道是如何产生的? 高考作文读后感800字 养仓鼠,笼子里面都应该放些什么配套设施? jquery如何读取另一个html文件内容? 仓鼠可以一晚上待在仓鼠笼里面吗? 求高中生嘅读后感800字3篇 jQuery 怎么实现JavaScript中的innerHTML功能 债权申报的方式是如何 仓鼠笼里铺上什么? 移动硬盘坏道