JavaScript更改li标签文本

10

我正在使用以下HTML:

<li id="item1" data="icon: 'base.gif', url: 'page.htm', target: 'Page'">Item 1 Title</li>

我正在尝试更改“Item 1 Title”这部分内容为其他文字。

我已经尝试使用:

document.getElementById("item1").innerHTML = "Item was changed";

但是没有成功。甚至尝试使用:

document.getElementById("item1").value = "Item was changed";

但仍然没有运气。

我只想改变文本,而让其他内容保持不变。

我做错了什么吗?


innerHTML 应该可以正常工作 http://jsbin.com/abaxuw/1/edit - elclanrs
你能否粘贴完整的包含HTML和JS的代码?我认为你在DOM准备好之前就运行了JS。 - Shiplu Mokaddim
1
@shiplu.mokadd.im 这也可能是重复的ID,但这只是另一个猜测。 - Ashley Strout
@D.Strout没错。实际上,没有完整可复现的源代码,什么都不能说。 - Shiplu Mokaddim
<ul> <li id="item1" data="url: 'reader.htm', target: 'AccessPage', reader: '1'">阅读器 1</li> </ul> 我正在运行以下代码,该代码位于页面加载后立即调用的函数中。我知道该函数正在运行,因为我已经添加了一个警告框来确认。 - Aaron
请添加完整的代码。 - Shiplu Mokaddim
2个回答

14

试试这个。

window.onload = function(){
 document.getElementById("item1").innerHTML = "Item was changed";
}

0
你可以在页面加载后调用一个函数。
var changeText = function(text){ 
    document.getElementById("item1").innerHTML = text;
}

window.onload = function() { 
    changeText(' some text '); 
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接