我正在尝试替换由ajax脚本生成的一些html标记。 Ajax脚本生成以下ul列表:
<ul>
<li class="odd">some text</li>
<li class="even">some text</li>
<li class="odd"><hr /></li>
<li class="even">some text</li>
</ul>
我需要将<li class="odd"><hr /></li>
替换为</ul><hr /><ul>
。我想每次生成列表时都必须使用一些javascript来动态替换这些标记,但我不知道如何准确地完成它。你能指点我走正确的轨道吗?
非常感谢任何帮助。
答案 0 :(得分:2)
首先,您应该为您分配一个ID,以便更容易访问:
<ul id='myTag'>
[...]
</ul>
然后,您可以使用string manipulation和innerHTML property来做您想做的事情:
var html = document.getElementById('myTag').innerHTML;
document.getElementById('myTag').innerHTML = html.replace('<li class="odd"><hr /></li>', '</ul><hr /><ul>');
你当然可以使用像jQuery或prototype这样的花哨javascript库来做同样的事情,但这是“根”方式;)!
答案 1 :(得分:1)
很远。好吧,(a),做到这一点,你不需要这样做。 :)或(b):
获取对该ul标记的引用
不知何故。给它一个id属性
并使用:
document.getElementById("theULTag")
。
或者,如果它是第一个UL标签
例如,页面,使用
document.getElementsByTagName("ul").item(0)
现在设置一个等于此元素的innerHtml属性的变量。例如:var textToChange = document.getElementById("theULTag").innerHTML
learn about javascript string manipulation here,做你需要做的事。 (您可能需要删除空格以使自己更容易)
使用document.getElementById("theULTag").innerHTML = newText