更改<h2>中的文本而不更改跨度相同的h2标签

kal*_*les 5 html jquery

我想更改文本而不更改跨度。我尝试过此操作,但文本已更改,但跨度已删除。

 <div class="c1"> <h2> "here" <span class="span1">X</span></h2></div>
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以使用jQuery更改文本而无需更改跨度内容。

Can*_*vas 5

jsFiddle:https ://jsfiddle.net/CanvasCode/y6p6xzfx/

$(function () {
    $span = $('h2').find('span')
    $('h2').text("Hello");
    $('h2').append($span);
});
Run Code Online (Sandbox Code Playgroud)

取得跨度的副本,更新h2文本,然后将跨度附加回h2标签。


忘记按c1div类进行过滤。这是更新的代码

jsFiddle https://jsfiddle.net/CanvasCode/y6p6xzfx/1/

$(function () {
    $div = $('.c1');
    $h2 = $div.find('h2');
    $span = $h2.find('span')
    $h2.text("Hello");
    $h2.append($span);
});
Run Code Online (Sandbox Code Playgroud)

另外,您不需要存储所有元素。我这样做只是为了使代码更清晰易读和理解。