我有这样的HTML结构:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<table id ="x">
<tr>
<td class='col1'>
Hello <span class='name'></span> How are u ?
<td>
</tr>
</table>
这是我的jQuery代码:
var variable = $('table#x').find(".col1").html().find("span.name").append(' Jack..!').replace('u', 'you');
alert(variable);
现在,我想要这个输出:
<td class='col1'>Hello <span class='name'>Jack..!</span> How are you ?<td>
我该怎么做?
答案 0 :(得分:4)
答案 1 :(得分:2)
基于my comment,您可以使用以下内容:
$('table#x .col1 span.name').append(' Jack..!').parent().text(function () {
return $(this).text().replace('u', 'you');
});
您的代码中存在一些问题。例如,您无法在.append()
方法之后链接.html()
。此外,.replace()
方法并未改变文字。要解决此问题,您可以将匿名函数传递给.text()
方法并返回替换的文本。