从JavaScript中获取文本对象的文本值

时间:2009-10-29 21:11:22

标签: javascript

我有一个HTML文件,其中包含以下行:

<div><img src="img1.gif"><br>My Text</div>

我正在尝试使用JavaScript选择短语“My Text”,以便我可以更改它。我可以使用lastChild获取包含文本的对象,但无法弄清楚如何获取文本本身的值。

6 个答案:

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