導航:首頁 > 編程語言 > js查詢節點個數

js查詢節點個數

發布時間:2023-04-12 01:39:56

jstree中是否提供了方法判斷一個根節點有多少子節點看了參考文檔貌似沒有。求高手賜教

在DhtmlXtree中可以用tree.getLeafCount(itemId)獲取節點下的子節點數,如果你想計算的是根節點下所有的子節點的話,可以先用上面的計算出根節點下的子節點數然後在有循環判斷這些子節點中那個有孩子節點然後在根據tree.getLeafCount(itemId)計算此節點下的位元組點數,依次循環直至最後。

② js如何獲取某元素內節點的個數

(1)如獲得id為test標簽子元素的個數:
document.getElementById("test").ChildNodes.length
document.getElementById('test').children.length
(2)上面兩種方法皆可來獲得版子元素的個數權,但是要注意各個瀏覽器的差異性,也得斟酌下差異性

javascript中,如何知道XML文檔中的節點數量

得到這個xml對象
var arr = xml對象.getElementsByTagName("RS_ROW");
arr就是這個陸明節點的所有對象,arr.length就是一返腔共有多少個RS_ROW節早世告點

④ js 怎樣返回當前節點是第幾個

$(function(){
$("ul.area li").click(function(){
alert($(this).index('ul.area li'));
});
});

如果不給 .index()
方法傳遞參數,那麼返回值就是這個jQuery對象集合中第一個元素相對於其同輩元素的位置。

如果參數是一組DOM元素或者jQuery對象,那麼返回值就是傳遞的元素相對於原先集合的位置。

如果參數是一個選擇器,銷答那麼返回飢物值就是原先元素相對於選擇器匹配元素中的位置。如果找不爛斗液到匹配的元素,則返回-1。

具體請參考示例。

⑤ javascript怎麼獲取獲取一個節點的所有子節點

$(function(){
$(".navbar-inverseli").each(function(index){
if($(this).children().text().indexOf("主頁")>=0){
$(this).addClass("active");
}
});
});

這個是獲取ul下的li,然後設置樣式。

⑥ js怎樣添加、移除、移動、復制、創建和查找節點

添加節點append;移除節點removeChild;移動節點:var sdds=document.getElementById;創建節點createTextNode();查找節點:document.getElementsByTagName。

⑦ js怎麼獲取div里的元素個數

js獲取div里的元素個數方法是:先得到父元素,再得到父元素下的某標簽類別的子元素,最後統計出子元素的長度就可以簡單實現了。

⑧ 用JS獲取某一ID下的指定class的結點的個數

var a = function (node,class) {
var p = document.getElementById(node).childNodes, g = [], c = class;
for(var i = 0,pl = p.length;i<pl;i++){
if(p[i].className === c) g.push(p[i]);
}
return g;
}

⑨ js之原生節點操作

鏈接地址: http://blog.csdn.net/hj7jay/article/details/53389522
http://blog.csdn.net/terrychinaz/article/details/8492092
1、節點查找API節點:
Node是一個介面,中文叫節點,很多類型的DOM元素都是繼承於它,都共享著相同的基本屬性和方法。常見的Node有 element,text,attribute,comment(注釋節點),document 等。
{
ELEMENT_NODE: 1, // 元素節點
ATTRIBUTE_NODE: 2, // 屬性節點
TEXT_NODE: 3, // 文本節點
COMMENT_NODE: 8, // 注釋節點
DOCUMENT_NODE: 9, // 文檔
DOCUMENT_TYPE_NODE: 10,
DOCUMENT_FRAGMENT_NODE: 11, // 文檔碎片
}
通常情況下,只需要了解上面的幾個就行了。
2、節點查找API
document.getElementById :根據ID查找元素,大小寫敏感,如果有多個結果,只返回第一個;

document.getElementsByClassName :根據類名查找元素,多個類名用空格分隔,返回一個 HTMLCollection 。注意兼容性為IE9+(含)。另外,不僅僅是document,其它元素也支持 getElementsByClassName 方法;

document.getElementsByTagName :根據標簽查找元素, * 表示查詢所有標簽,返回一個 HTMLCollection 。

document.getElementsByName :根據元素的name屬性查找,返回一個 NodeList

document.querySelector :返回單個Node,IE8+(含),如果匹配到多個結果,只返回第一個。

document.querySelectorAll :返回一個 NodeList ,IE8+(含)。

document.forms :獲取當前頁面所有form,返回一個 HTMLCollection ;
這里順便提一下:querySelector與getElement 之類的區別:
寫法不同,最大的區別就是getElement
之類的只能接受的參數是id,class,name之類的,而querySelector接受的參數則擴展到了css的選擇器【必須嚴格按照css選擇器寫法來寫,不然拋出異常】,可以用任意的選擇器來描述選擇的東東。getElement***返回值是一個 Live Node List(動態),querySelector返回的是 Static Node List(靜態)。
什麼是NodeList呢?
<pre>NodeList 本質上是一個動態的 Node 集合,只是規范中對 querySelectorAll 有明確要求,規定其必須返回一個靜態的 NodeList 對象。</pre>
看下面:
html:
<p class="lost">1</p>
<p class="lost">2</p>
js:
var query2 = document.querySelectorAll('.lost');
var query3 = document.getElementsByClassName("lost");
console.log(query2);//列印出的原型是NodeList
console.log(query3);//HTMLCollection

返回的是NodeList /HTMLCollection?
實際上,HTMLCollection 和 NodeList 十分相似,都是一個動態的元素集合,每次訪問都需要重新對文檔進行查詢。兩者的本質上差別在於,HTMLCollection 是屬於 Document Object Model HTML 規范,而 NodeList 屬於 Document Object Model Core 規范。
這里又有個問題:NodeList 和HTMLCollection 的區別是什麼呢?
HTMLCollection是元素集合,而NodeList是節點集合(既可以包含元素,也可以包含文本節點)。所以 node.childNodes 返回 NodeList,而 node.children 和 node.getElementsByXXX 返回 HTMLCollection 。children是Element的屬性,只返回的是html節點。childNodes是Node的屬性,返回的是制定元素的所有的子元素集合的節點,包括html節點,文本節點,屬性節點,注釋節點等等。
例子:
html:
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
js:
var ul = document.getElementsByTagName('ul')[0];
var lis1 = ul.childNodes,//NodeList
lis2 = ul.children;//htmlcollection
console.log(lis1.toString(), lis1.length); // "[object NodeList]" 9
console.log(lis2.toString(), lis2.length);//[object HTMLCollection] 4
上面的nodelist節點把換行也當作了一個個的空白文本節點了,所以返回的是9,而htmlcollection卻不會。querySelectorAll 的返回值是一個靜態的 NodeList 對象,而 getElementsBy ***系列的返回值實際上是一個 HTMLCollection 對象 。
<pre>
如果作為NodeList返回,以下情況將會被當作文本節點處理:

⑩ javascript的節點問題

childNodes獲得的是所有的標簽節點和文本節點,而children獲得的只是顫爛標簽節點。

這也就是說,childNodes獲得的除了三個div節點外,節點與節點之間的三個回車換行爛模符也被計算在內了,因為它們也是文本啊:

<divid="parentDiv">這里一個回車換行符
<divid="d1">第茄歷漏一個div</div>這里也是一個回車換行符
<divid="d2">第二個div</div>這里也是一個回車換行符,總共三個
<divid="d3">第三個div</div></div>

如果把回車換行去掉:

<divid="parentDiv"><divid="d1">第一個div</div><divid="d2">第二個div</div><divid="d3">第三個div</div></div>

那麼兩種方法計算的節點數就相同了(都是3)

閱讀全文

與js查詢節點個數相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接