他们2者功能是完全不同的,而初学者往往会被误导。
首先 我们看.find()方法:
现在有一个页面,里面HTML代码为<div class="css">
<p class="rain">测试1</p>
</div>
<div class="rain">
<p>测试2</p>
</div>
如果我们使用find()方法:
var $find = $("div").find(".rain")
alert( $find.html() )
将会输出:
测试1
如果使用filter()方法:
var $filter = $("div").filter(".rain")
alert( $filter.html() )
将会输出:
<p>测试2</p>
也许你已经看出它们的区别了。
find()会在div元素内 寻找 class为rain 的元素。
而filter()则是筛选div的class为rain的元素。
一个是对它的子集操作,一个是对自身集合元素筛选。
另外find()其实还可以用选择器表示:
var $select = $("div .rain")
明白他们的区别了吗?
查找id为"change"里面的p标签eq(0)指第一个
整个的意思是获取id="change"里面的第一个p标签内容
如:
<div id="change">
<p>1</p>
<p>2</p>
</div>
那么以上jquery获取到的值就是1
你没有给代码 也不知道为啥不会获取到
本着授人以鱼不如授人以渔的态度, 教你个办法
你分别在 控制台输出
console.log($("table"))console.log($("table").find('td'))
console.log($("table").find('td').eq(0))
console.log($("table").find('td').eq(0).text())
// 你看看到底是哪一步没有获取到 dom对象 从而解决