① js中關於childNodes獲取子元素的問題
DOM中,節點分為文檔節點,元素節點,文本節點,屬性節點,注釋節點。標簽的firstChild是文本節點,如果標簽中什麼都沒有,則獲取到的是空的文本節點。
參照http://www.w3school.com.cn/htmldom/dom_nodes.asp
② js實現獲取父元素下的子元素,如下的代碼,我想通過getElementByClassName獲取到標簽table,
<body>
<table class="tbeTarget" id="tbeTarget">
<tr>
<td class="tips1" id="tips1"> 12345abcd </td>
<td class="tips2" id="tips2"> 23456fvbg </td>
</tr>
</table>
<input type="button" onclick="getTdValue();" value="GETTDVALUE">
</body>
獲取標簽建議還是用ID來獲取,簡單方便
用getElementById("tbeTarget")可獲取table
用getElementById("tips2")可獲取到tips2
有ID的話,getElementById("tbeTarget").tips2也能得到你要的 tips2
特殊情況實在不能用ID時,也可用getElementsByTagName
var o=document.getElementsByTagName("table"); 這個就獲取到了所有的table標簽,返回值是數組類型的
像你這個代碼的話,只有個一個table,那 o[0]就是你要的table標簽了
實在要用getElementByClassName的話,
var o=document.getElementByClassName("tbeTarget");
var ot=o.getElementsByTagName("td"); //直接用o.getElementByClassName("tips2")應該也可以
for(var i=0;i<ot.length;i++){
if(ot[i].class=="tips2"){
alert(ot[i]); //在這if裡面,用ot[i]調用到的就是你要的 tips2了
}
}
③ js 獲取多層元素中的子元素的問題
使用元素對象的getElementsByTagName('tagName')方法可以獲得一個元素對象內所有的指定tagName標簽的對象, 其返回值為一個數組, 然後遍歷此數組即可. 例如:
var ary = piece.getElementsByTagName("span"), i, spanObj;
for (i = 0; i < ary.length; i++) {
spanObj = ary[i];
// 進行處理
}
當然, 前提是你的piece對象為一個有效的頁面元素對象(如div對象).
④ 求助JS獲取指定ID的子元素出問題
<script>
function dom() {
var s= document.getElementById("test");
del_ff(s); //清理空格
var chils= s.childNodes; //得到s的全部子節點
var par=s.parentNode; //得到s的父節點
var ns=s.nextSbiling; //獲得s的下一個兄弟節點
var ps=s.previousSbiling; //得到s的上一個兄弟節點
var fc=s.firstChild; //獲得s的第一個子節點
var lc=s.lastChile; //獲得s的最後一個子節點
}
</script>
⑤ javaScript獲取子元素
這是因為getElementById再結合children屬性獲取的是DOM元素,而querySelectorAll獲取的則是NodeList對象元素。前者會隨頁面版DOM結構的變化而變化,比權如刪除了box中的一個div,這個div就會從children中被「真實地」刪掉,children.length的計數也會減1。而後者如果刪除其中的某個子元素,被刪的元素並不會消失,而是變成一個空對象,children1.length的計數也不會改變,這樣的話for(var i=0;i<children1.length;)這個循環由於i的值不變(總是等於0),而children1.length也不會減少(總是4),這樣就變成死循環了(同時也意味著把一個已刪除的元素不斷重復刪除)。
改成這樣就沒問題了:
for(var i=0;i<children1.length;i++){
box.removeChild(children1[i]);
}
⑥ JavaScript,已獲取到父元素並且已知該父元素的某子元素的name屬性,怎麼獲取到相應的子元素
p.querySelector("[name='abc']")
------------------------------
<divid="p">
<spanname="abc">sdf</span>
</div>
⑦ javascript如何獲得子元素的個數
給ul標簽添加一個id,使用id獲取元素
document.getElementById("ul").childElementCount;// 這個屬性直接給出個數
參考文檔:網頁鏈接
⑧ js正則 獲取元素屬性值
一、獲取img標簽的扮數src屬性值
var imgStr = "<p><img src='http://www..com/FpmF-JifNksQTHo7InP_LMukbtWc'/></p>"
//解析富文本獲轎局取img裡面的src屬性值
var patt = /<img[^>]+src=['"]([^'"]+)['"]+/g;
var result = [],
temp;
while ((temp = patt.exec(imgStr)) != null) {
result.push({'url':temp[1]});
}
console.log(result) //http://www..com/FpmF-JifNksQTHo7InP_LMukbtWc
二、閉缺讓獲取指定元素屬性值
function getDomAttr(str,tag,attr) {
// const val = /(?<=data-value=").*?(?=")/;
var patt = `/<${tag}[^>]+${attr}=['"]([^'"]+)['"]+/g`;
let temp = patt.exec(str);
// console.log('str.match(val)', temp);
return temp[1];
}
⑨ 請問js怎麼選擇子元素
使用jquery獲取某DIV的子元素,通常有以下兩種方法:
子元素選擇器(>),例如 $("div>img") 獲取div下的img子元素;
遍歷函數children(),例如 $("div").children("img") 同樣是獲取div下的img子元素。
如果想要獲取DIV下的不僅是子元素,而且還包括其他後代元素(孫輩、曾孫輩元素...),那麼,相應的兩種方法是:
後代元素選擇器(空格),例如 $("div img") 獲取div下的所有級別的img後代元素;
遍歷函數find(),例如 $("div").find("img") 獲取div下的所有級別的ing後代子元素。
⑩ js、請問怎麼獲得子元素
getElementsByTagName('li')是抄獲取所有li元素,所以是getElements,不是getElement;
var li_length = document.getElementById('ul1').getElementsByTagName('li').length;//js獲取li的length