在javascript里面怎么获取p节点文本值并改变文本值?

图片描述

我写的方法:

var a =document.getElementById("contact_form_input");
var b =a.????("Your Name");//怎么获取p的节点文本值,并改变文本值。
b.innerHTML="您的姓名";

在下有点不懂了,请各位高手指教一下。

阅读 11.7k
5 个回答

1,id的值是唯一的,为不同的 p 标签设置不同的 id
2,得到文本值用 var str = ele.innerText
3,设置用 ele.innerText = 'xxx'

这里的 ele 是你通过 getElementById 获取的 dom 节点。

首先,id是唯一值(一个页面内唯一);
接着,例子:

<div id="text">
    <p id="text1">aaaa</p>
    <p id="text2">bbbb</p>
</div>

1,比如我们要单独获取某一文本的值,用innerText
var t1 = document.getElementById('text1'); // id唯一,text1换成text2就得到bbbb

alert(t1.innerText);

2,获取一组p元素中
var textObj = document.getElementById('text');
var arryText = textObj.getElementsByTagName('p'); // 数组

alert(arryText[0].innerText +','+arryText[1].innerText);

3,改变文本值
var t2 = document.getElementById('text2');
t2.innerText = '变成cccc';
alert(t2.innerText);

首先,一个元素的ID必须是唯一的,就是说一个ID只能对应一个元素,一个元素最多也只能有一个ID。
看你贴的代码,这个地方就已经错了。
其次,拿到元素并改变里面代码的方法:document.getElementById("xxx").innerHTML = XXXXXXXXX;

获得所有元素,取第一个:

document.querySelectorAll('#contact-form-input')[0].innerHTML = ‘new value’;

不过建议不要用重复的id,也可以直接用类名取元素:

document.querySelectorAll('.contact-form-input')[0].innerHTML = ‘new value’;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题