我有一个HTML文件,其中包含以下行:
<div><img src="img1.gif"><br>My Text</div>
我正在尝试使用JavaScript选择短语“My Text”,以便我可以更改它。我可以使用lastChild获取包含文本的对象,但无法弄清楚如何获取文本本身的值。
答案 0 :(得分:23)
<div id="test"><img src="img1.gif"><br>My Text</div>
function getText( obj ) {
return obj.textContent ? obj.textContent : obj.innerText;
}
function setText( obj, to ) {
obj.textContent? obj.textContent = to : obj.innerText = to;
}
getText( document.getElementById('test') ) // 'My Text'
setText( document.getElementById('test').lastChild, 'bar' )
注意:innerText用于IE DOM,textContent用于其他兼容的DOM API,如Mozillas。
答案 1 :(得分:2)
如果你有
<div><img src="img1.gif"><br><span>My Text</span></div>
然后你可以做
lastChild.innerHTML获取值 你也可以做
lastChild.innerHTML="new text"
答案 2 :(得分:1)
您可以通过“data”属性访问[object Text]的文本内容。 此属性为R / W,因此您可以使用它来读取文本以及编写文本。
<div><img id="my_img_1" src="img1.gif">My Text</div>
<script>
alert('my current text = ' + lastChild.data);
lastChild.data = 'new text';
</script>
您可以找到更多here
答案 3 :(得分:0)
var x = the object you got
var theOldText = x.innerText
x.innerText = "new text"
答案 4 :(得分:0)
我的建议是将您想要更改的值放在它自己可以识别的元素中。然后你可以使用简单的jQuery行:
<div><img src="img1.gif"><br><div id='myText'>My Text</div></div>
$('#myText').text('new text');
答案 5 :(得分:-1)
试试这个
.InnerText