2

以下のような要素があります。内部にあるブロッククォートを削除して、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要素のみが必要です。どんな助けでも大歓迎です!

4

2 に答える 2

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();
  });
});

フィドルの例: http: //jsfiddle.net/cjsuV/4/

于 2013-02-28T10:31:29.510 に答える
0

次のような意味ですか?

document.getElementById("your-element").innerHTML = "HTML<br>Java<br>";

または、追加する場合:

document.getElementById("your-element").innerHTML += "HTML<br>Java<br>";

innerHTML:要素を上書きすると、問題が発生する可能性があります。たとえば、onclickイベントがある場合。続きを見る:

于 2013-02-28T10:42:51.070 に答える