在html页面中获取所有段落id

时间:2014-02-23 00:07:22

标签: javascript

我有三个段落<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 &lt;ul&gt;
        <br>
        <ul>Liste 1 : </ul>
        <ul>Liste 2 : </ul>
    </p>
    <p id="myP2" style="font-weight:bold;">
        Ceci est une paragraphe avec une balise &lt;ul&gt;
        <br>
        <ul>Liste 3 : </ul>
</p>
<p id="myP3" style="font-weight:bold;">Ceci est une paragraphe simple.</p>

2 个答案:

答案 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)