我有三个段落<p>
,我想在id
中显示他们的textarea
值,这是我使用的代码:
var pNodesList = document.getElementsByTagName('p');
var text = "";
var pArrayList = Array.prototype.slice.call(pNodesList);
pArrayList.forEach(function(value, index){
text += value.getAttribute('id') + String.fromCharCode(13);
});
document.getElementsByTagName('textarea')[0].value = text;
问题是当我点击该按钮时,这是我在textarea
中得到的结果:
myP1
null
myP2
null
myP3
为什么我得到那些空值?
这是我的HTML:
<p id="myP1" style="font-weight:bold;">
Ceci est une paragraphe avec deux balises <ul>
<br>
<ul>Liste 1 : </ul>
<ul>Liste 2 : </ul>
</p>
<p id="myP2" style="font-weight:bold;">
Ceci est une paragraphe avec une balise <ul>
<br>
<ul>Liste 3 : </ul>
</p>
<p id="myP3" style="font-weight:bold;">Ceci est une paragraphe simple.</p>
答案 0 :(得分:3)
id
查询时,您可能包含没有属性getAttribute
的段落,它会返回null
。
更新:您在HTML specification
禁止的段落中放入了一个ul答案 1 :(得分:0)
如果您想避免打印没有ID的那些:
pArrayList.forEach(function(value, index){
var id = value.getAttribute('id');
if (id != null)
text += value.getAttribute('id') + String.fromCharCode(13);
});
(a == null)