1

私は自分の質問に対する答えを探しましたが、正確に見つけることができませんでした。これが私が持っているHTMLであり、変更することはできません。

<div class="metadata"> 
    <span class="meta"> 
        <span>    
        </span>     
    </span> 
    <a class="sourceTitle" href="#">Link to site</a> 
      11d

     &nbsp;//&nbsp; 
    <span class="action">preview</span> 
</div>

11d基本的にはのようなものに変更する必要がありMarch 13thます。私はその背後にあるすべてのアルゴリズムを理解しましたが、神の愛のためにそれを置き換える方法を見つけることはできません。私はここにJSFiddleを持っています:http://jsfiddle.net/7tPTu/2/

4

3 に答える 3

4

テキストノードを選択し、テキストを置き換えます。

var text = $(".metadata").contents().filter(function () {
    return this.nodeType === 3;
}).wrap("<span class='textNode'>");

var target = $("span.textNode:contains('11d')");
target.text(target.text().replace(/11d/, "March 13th"));

デモ: http: //jsfiddle.net/DerekL/eBwjT/

于 2013-03-25T02:30:43.440 に答える
0

「11d」を独自のスパンに入れてIDを指定することをお勧めします。次に、次のことを実行できます。

$("#yourSpanId").text(yourText);

これにより、yourSpanIdがyourTextで更新されます。(文字列をハードコーディングしている場合は、引用符を付ける必要があります。

$("#yourSpanId").text("some text");
于 2013-03-25T02:24:21.430 に答える
0

また、innerHTMLまたはinnerTextプロパティを使用して、jQueryなしでこれを行うこともできます。

document.querySelector(".sourceTitle").innerHTML = "March 13th";
于 2013-03-25T02:32:13.027 に答える