我有一个像下面这样的元素。我想删除内部存在的blockquote并用innerHTML替换它们
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<blockquote style="margin-right: 0px; margin-left: 40px; border: none; padding: 0px;">HTML</blockquote>
<blockquote style="margin-right: 0px; margin-left: 40px; border: none; padding: 0px;">Java</blockquote>
</blockquote>
到
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
HTML<br>
Java<br>
</blockquote>
我该怎么做?我知道一种方法来实现这一点,通过创建另一个节点(如span / div),然后替换。但我不想添加任何其他元素,只想要其innerHTML元素。任何帮助深表感谢!
答案 0 :(得分:0)
如果你可以使用jquery,你可以这样做:
$('blockquote > blockquote').each(function() {
var text = $(this).text();
$(this).after(text + '<br />');
$(this).remove();
});
小提琴示例:http://jsfiddle.net/cjsuV/
对于YUI DOM,您可以使用:
YUI().use('node', function(Y) {
var blockQuotes = Y.all('blockquote > blockquote');
blockQuotes.each(function (blockQuote) {
var textNode = document.createTextNode(blockQuote.get('innerHTML'));
var brNode = document.createElement('br');
blockQuote.insert(brNode, 'after');
blockQuote.insert(textNode, 'after');
blockQuote.remove();
});
});
答案 1 :(得分:0)
你的意思是:
document.getElementById("your-element").innerHTML = "HTML<br>Java<br>";
或者如果你想追加:
document.getElementById("your-element").innerHTML += "HTML<br>Java<br>";
注意:覆盖元素innerHTML
可能会导致问题。例如,如果您有onclick
个事件。查看更多: