2

たとえば、次のような文字列があります。

var html = '<div class="templatemo_post_text grid-85">
<div id="wmd-preview"><h2>Skriv något!</h2>
<p>Lorem ipsum</p></div>
<div class="templatemo_post_footer">
<div class="templatemo_post_on">
<span class="orange">Skrivet den</span> 3 Mar 2013</div>
<div class="templatemo_post_comment">
<a href="#">Inlägg nummer </a>
</div></div></div>';

.addClass()を何らかの方法で使用して、id = wmd-previewにクラスを追加できますか?
実際、私の質問は、既存の変数を変更するためのすべてのJavaScriptに当てはまります。もう1つやりたいのは、タグ全体を新しいものに置き換えることです。

ありがとう。

4

3 に答える 3

5

そのHTMLをDOM要素に変えることができます:

var element = $(html);

次に、必要なdivを選択します。

var div = element.find('#wmd-preview');

次に、クラスを追加します。

div.addClass('new-class');

編集

変更したDOM要素をHTML文字列に戻すには、 jQueryのhtml関数を使用できます。

html = element.html();

これにより要素の内部HTMLが提供されるため、囲んでいるdivが欠落していることに注意してください。これを回避するには、別のdivに追加します。

html = $('<div></div>').append(element).html();
于 2013-03-03T13:57:02.847 に答える
1

コメントありがとうございますが、それは私の問題を解決しませんでした、そしてその理由は私からの悪い入力です。私はinnerHTMLを使用してhtmlを取得していましたが、それはソリューションではうまく機能しませんでした。

コードを必要とする人のために、ここにコードを残しておきます。コードは私のDIVを取得する方法であり、ajaxが成功すると、を変更してIDwmd-previewを削除します。

mydiv = document.createElement('div')
mydiv.className = 'templatemo_post_area addbottom grid-parent';
mydiv.innerHTML = document.getElementById('preview').innerHTML;
$.ajax({
    type: "POST",
    dataType: 'json',
    url: "/pages/posts_ajax.php",
    data: {
        data : text,
        time : timepost
    },
    success: function(response) {
        $(mydiv).find('#wmd-preview').removeAttr('id');
        $(mydiv).find('#postnr').text('Inlägg nummer '+response.id);
        $(mydiv).insertAfter('div#post_area');
    }
});
于 2013-03-06T20:02:21.580 に答える
0

これがあなたがやりたいことです

var html = '<div class="templatemo_post_text grid-85"><div id="wmd-preview"><h2>Skriv något!</h2><p>Lorem ipsum</p></div><div class="templatemo_post_footer"><div class="templatemo_post_on"><span class="orange">Skrivet den</span> 3 Mar 2013</div><div class="templatemo_post_comment"><a href="#">Inlägg nummer </a></div></div></div>';

$(html).find('.orange').addClass('someclass')
于 2013-03-03T13:59:17.660 に答える