$('xx').next('span')
2. javascript獲取節點值
你的代碼問題:
一、你的層數不夠,還應該下一層
二、firstChild是<br>,應該再次nextSibling
下面的代碼調專試通屬過,正確獲取結果:
<div id="div1">
<div>
<div><br />
<span>990</span>
</div>
</div>
</div>
<script language="javascript">
alert(document.getElementById("div1").firstChild.firstChild.firstChild.nextSibling.innerHTML);
</script>
3. js如何獲取文本節點的值
兩種方來法:
比如有個文自本節點:<div id="test"><strong>this is value</strong></div>
1、通過document對象獲取:
var obj=document.getElementById("test");
//非Mozilla瀏覽器:
obj.innerText;
2、其他的瀏覽器
obj.firstChild.nodeValue;
4. javascript怎麼獲取獲取一個節點的所有子節點
$(function(){
$(".navbar-inverseli").each(function(index){
if($(this).children().text().indexOf("主頁")>=0){
$(this).addClass("active");
}
});
});
這個是獲取ul下的li,然後設置樣式。
5. 原生JS與jQuery獲取節點的方法
首先我們來介紹一下DOM中元素與節點間的關系:頁面中所有內容都是節點[包括元素,屬性,文本],所以節點是包括元素的。
以下是節點的三個屬性:
若是火狐和chrome瀏覽器上述方法不存在兼容問題,而若是在IE8瀏覽器中後四組內容只能獲取元素,無法獲取文本或屬性。即原獲取節點方法-->取元素;原獲取元素方法-->undefined。
jQuery中是以方法的形式進行調用,同時都是用來獲取元素:
6. js 中怎樣通過class來取一個節點
純js沒有,不過可以自己封裝。。
function getElementsByClassName(ele,className) {
//獲取所有子節點
if(document.all){
var children = ele.all;
}else{
var children =
ele.getElementsByTagName('*');
}
//遍歷子節點並檢查className屬性
var elements
= new Array();
for (var i = 0; i < children.length; i++) {
var child
= children[i];
var classNames = child.className.split(' ');
for (var j =
0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements[elements.length] = child;
break;
}
}
}
return
elements;
}
var trees = getElementsByClassName(document,'TreeView');
7. JS獲取XML節點值
<textarea name="other" id="other" cols="50" rows="5" >無</textarea>
<script>
alert(other.innerHTML);
alert(other.innerText);
alert(other.value);
</script>
這3個都可以,推薦內用容value
8. js怎麼選擇節點
document.getElementsByTagName()
根據標簽名獲取,如<p> <div>
如document.getElementsByTagName("h1")
document.getElementsByName()
根據標簽內的name屬性值獲取
如<input name='x' />,document.getElementsByName('x')
document.getElementById()
根據id來獲取
如document.getElementById("wrap")
document.querySelector()
html5新出的選擇方式,選擇的是數組中的第一個元素,有些類似jquery的選擇方式
如document.querySelector(".div1")
如果滿意,望採納!提問者的點贊和採納就是我們的動力和追求,謝謝!
9. js如何獲取子節點
1.可以使用childNotes方法:
2.定義和用法:
childNodes 屬性返回節點的子節點集合,以版 NodeList 對象。
3.實例權:獲得 body 元素的子節點集合:
document.body.childNodes;
10. 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返回,以下情況將會被當作文本節點處理: