Javascript - 选择名称更改问题

时间:2011-06-24 14:30:46

标签: javascript html

昨天我问了另一个与此类似的问题(Javascript - Link Name Changing with restrictions),但在尝试应用同样的修复后,似乎没有任何事情发生。希望我能得到一些见解。

我应用了第一个解决方案:

var elements = document.getElementsByClassName("time")[0].getElementsByTagName("a");
for(var i = 0, j = elements.length; i<j; i++){
    elements[i].innerHTML = "Time Review";
}

效果很好。但是,在另一段代码中,有:

<div class='validatable' id='style_picker'> 
    <div class='selector'> 
        <span class='selection'></span> 
        <span class='handle'></span> 
    </div> 
    <ul type='none'> 
        <li class='time'> 
            <span class='style_item'></span> 
            <span class='copy'>time</span> 
        </li> 
    </ul>
</div>

我正在尝试将时间显示为“时间审核”。再次,我只有页眉/页脚用于javascript,我不能自己更改任何实际的代码。我有点困惑为什么上述代码不会改变文本。任何人都可以对此有所了解和/或提供解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

它没有用,因为您尝试更改的文字现在位于<span>标记中

var elements = document.getElementsByClassName("time")[0].getElementsByTagName("span");
for(var i = 0, j = elements.length; i<j; i++){
  elements[i].innerHTML = "Time Review";
}

答案 1 :(得分:1)

var elements = document.getElementsByClassName("time")[0].getElementsByTagName("a");  

注意getElementsByTagName("a"),这将获得代码:<a>,在新版本的代码中,它是<span>,因此将“a”替换为“span”。
如果您只想更换时间审核,请使用:

document.getElementsByClassName("copy")[0].innerHTML = "time review";