jq中find 和children 的區別

2021-08-19 18:07:24 字數 963 閱讀 5939

find():返回匹配元素集合中每個元素的後代。引數:必選的,可以為字串,jq物件或dom元素。(字串是指用於查詢的表示式)

children():返回匹配元素集合中每個元素的子元素。引數:可選的,字串值,用以過濾子元素的表示式。

例子:

123

456

$('tr').children("td:first"):表示式先找到所有tr下的所有td,然後將他們形成乙個元素集合,然後在找到第乙個td,所以結果只有乙個

$('tr').find("td:first"):表示式先遍歷了所有的tr,再在每個tr中找到第乙個td,所以結果為四個td。

如果寫成如下:

$('tr').children("td").first()

$('tr').find("td").first()

這兩種表示式得到的結果都是1個td

為什麼find沒有先遍歷每個tr,再找到每個tr中 的第乙個?

這是因為在jq中,當第乙個方法執行完以後都會將結果放在乙個結果集中,first()是執行乙個結果集,所以為第乙個

例子:

123

456

要求:獲取第二個tr中的第乙個td:

$('table tbody").find('tr:eq(1) td:eq(0)') ,這個表示式的結果是正確的

但是$('table tbody").children('tr:eq(1) td:eq(0)')得到的是null;

原因: 

$('table tbody").children('tr:eq(1) td:eq(0)'):先是找到tbody先是過去的兩個tr,但是這時候獲取的tr不包括他們的子元素,所以按著上面的獲取不到值。

如果要使用children進行獲取值,可以按著如下進行操作:

$("#tb>tbody").children("tr:last").children("td:eq(1)");

pymongo中find one和find的區別

import pymongo from bson import objectid client pymongo.mongoclient mongodb 27017 db name test db test client db name collection machines doc db test ...

redhat linux下安裝jq和jq的簡單應用

1首先,原始碼包 圖中有寫you can build it using the usual.configure make sudo make install 先tar zxvf 解壓一下包,進入目錄後,用紅色字型的命令進行安裝 這裡我遇到乙個問題是bison的版本過低導致jq不能正確安裝,所以bis...

JS和JQ中appendChild 相關注意事項

參考 案例 新建乙個div元素節點 var div document.createelement div 建立文字節點 var txt document.createtextnode 我愛你 加文字以子節點形式加入到div元素中 div.txt 把div元素節點新增到body元素節點中成為其子節點,...