按元素的内容选择元素 [英] Select element by element's content
本文介绍了按元素的内容选择元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有名单:
< ul class ='mates'>
< li class ='m'id ='1'> Jakub< / li>
< li class ='f'id ='2'> Vinnie< / li>
< li class ='m'id ='3'> David< / li>
< / ul>
如何选择li标签ONE BY ONE来检查它们的内容'li'tags)等于'xyz'。
element = document.getElementsByClassName('。mates')。firstChield。 innerHTML的;
do {
if(){
//做某事
}
} while(element = element.nextSibling);
但是我没有选择firstChild。此错误显示在控制台中:无法读取未定义的属性'innerHTML'。这需要用普通的JavaScript来完成。任何想法?
< li class ='m'id ='1'> Jakub< / li>
< li class ='f'id ='2'> Vinnie< / li>
< li class ='m'id ='3'> David< / li>
< / ul>
< script>
var mates = document.getElementsByClassName('mates')[0];
for(var i = 0; i< mates.childNodes.length; i ++){
if(mates.children [i] .innerHTML =='Vinnie')alert(Got you!ID + mates.children [i] .id)
}
< / script>
I have list:
<ul class='mates'>
<li class='m' id='1'>Jakub</li>
<li class='f' id='2'>Vinnie</li>
<li class='m' id='3'>David</li>
</ul>
How can I select 'li' tags "ONE BY ONE" to be checked if their content (between 'li' tags) is equal to 'xyz'.
element = document.getElementsByClassName('.mates').firstChield.innerHTML;
do {
if(){
//do something
}
}while (element = element.nextSibling);
but I'm not getting even far enough to select firstChild. This error is showing in console: "Cannot read property 'innerHTML' of undefined". This needs to be done in plain JavaScript. Any ideas?
解决方案
<ul class='mates'>
<li class='m' id='1'>Jakub</li>
<li class='f' id='2'>Vinnie</li>
<li class='m' id='3'>David</li>
</ul>
<script>
var mates = document.getElementsByClassName('mates')[0];
for (var i=0; i< mates.childNodes.length; i++){
if(mates.children[i].innerHTML == 'Vinnie') alert("Got you! ID "+mates.children[i].id)
}
</script>
这篇关于按元素的内容选择元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文