使用getElementByClassName设置特定元素中的Text

时间:2014-10-09 16:27:12

标签: javascript jquery html

我有一个名为p1的课程,我给了几段。

现在我想获得第一个并更改其文字。

我试过这样的事情:

var p = document.getElementsByClassName("p1");
p[0].text("hello");   

p[0].innerHtml = "hello";

2 个答案:

答案 0 :(得分:1)

p[0].innerHtml = "hello";将其更改为p[0].innerHTML = "hello";



var p = document.getElementsByClassName("p1");
p[0].innerHTML = "hello";

<div class="p1"></div>
&#13;
&#13;
&#13;

参考: Element.innerHTML

正如您在问题中标记了jQuery,您可以使用 html() text()

&#13;
&#13;
$('.p1').html('hello');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="p1"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我看到它的方式,你有三个选择来做你想做的事情:

  • 您可以简单地使用jQuery的eq函数(documentation):

    $(".p1").eq(0).text("hello");

  • 或者,您可以像在示例中一样使用DOM API(但如果您已经使用了jQuery,我建议保持一致性并坚持使用)然后的 convert DOM element to jQuery element

    var p = document.getElementsByClassName("p1"); $(p[0]).text("hello");

  • 或者只使用普通的DOM API,但是使用 innerText (顺便说一下,如果向元素插入任何文本,请记住始终使用innerText以避免代码注入等问题(您可以阅读更多内容) here)而不是:

    var p = document.getElementsByClassName("p1"); p[0].innerText = "hello";

查看this fiddle

中的所有示例