1
var template = $(this).parent().next().html()
console.log(template)

クロムコンソール出力

<a href="/weishiji/objActivity/timeline/746"><img class="my-pic-head" width="40" height="40" original="/weishiji/avatar/20130121/746.jpg" style="display: block;" src="/weishiji/avatar/20130121/746.jpg"></a>
        <p class="co_reply">
            <a class="co_reply_name" href="/weishiji/objActivity/timeline/746">test</a>
            7                <br>
            <abbr title="2013-01-26 11:11:11" class="publishfooter">56 minute</abbr>
        </p>
        <pre class="delete_reply" id="comment-542">delete</pre>

ここで、次のコードを使用して、この html のいくつかのプロパティを変更します。

$(template).find('img').attr('src', 'a')
console.log($(template).html())

クロムコンソール出力

<img class="my-pic-head" width="40" height="40" original="/weishiji/avatar/20130121/746.jpg" style="display: block;" src="/weishiji/avatar/20130121/746.jpg">

しかし、これは私が望んでいた結果ではなく、img src 属性値を変更せず、他のノードを破棄しました。内部のプロパティのみを変更したい

4

2 に答える 2

0

あなたの問題は、テンプレートをhtml()と同じように設定しているのか、実際のオブジェクトに設定しているのかということだと思います。代わりにこれを試してください:

var template = $(this).parent().next();
$(template).find('img').attr('src', 'a');

お役に立てれば。これが機能することを確認するためのサンプルフィドルです。

@AustinBrunkhorstが指摘しているように、これはまったく同じように機能します。

template.find('img').attr('src', 'a');

幸運を。

于 2013-01-26T04:18:01.163 に答える