我正在试着写一个Javascript来排序一些段落。下面是我正在排序的HTML的一小部分:
<p>Brown, John, 2010, <a href="#">Link</a></p>
<p>Bush, C.A., 2010, <a href="#">Link</a>: More info.</p>
<p><br></p>
<h3><a name="c">C</a></h3>
<p>Caine, J.S., and Minor, S.A., 2010, <a href="#">Link</a>: More</p>此Javascript正在查找包含"2010“的条目(这是4个段落中的3个):
var paras = document.getElementsByTagName("p");
alert( paras.length ); // 4, which is what I expect!
for( i=0; i < paras.length ; i++ ) {
var node0_text = paras[i].childNodes[0].nodeValue;
if ( node0_text.indexOf('2010') ) {
alert( node0_text ); // not returning everything that I expect it to.
};
}当我运行此命令时,警告框中会弹出前两个条目("Brown“和”布希“),正如我所预期的那样。然后,脚本似乎就死了。它不显示第三个("Caine")条目。这里出了什么问题?感谢您的任何意见。
指向它的链接:http://jsfiddle.net/Jrmy/6MP2W/5/
发布于 2013-02-02 06:09:38
"Caine“词条在fourth段落中。脚本失败,因为第三段没有文本。
这是第三段:
<p><br></p>文本为null,因此if语句在尝试访问.indexOf()时得到一个异常。
(edit -一个很好的注释指出正在检查值的是<br>标记,但这也是空的。)
https://stackoverflow.com/questions/14655821
复制相似问题