① 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