我想更改文本而不更改跨度。我尝试过此操作,但文本已更改,但跨度已删除。
<div class="c1"> <h2> "here" <span class="span1">X</span></h2></div>
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以使用jQuery更改文本而无需更改跨度内容。
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)
另外,您不需要存储所有元素。我这样做只是为了使代码更清晰易读和理解。