我需要完成以下任务:
我有一个表格,其中包含我需要编辑/格式化的数据:
<tr><td>Tools and Other: Hammers</td><tr>
<tr><td>Tools and Other: Wrenches</td><tr>
根据条件,我需要将内容更改为以下内容:
<tr><td>Toolbox: Hammer</td></tr>
<tr><td>Toolkit: Wrench</td></tr>
我如何简单使用jQuery动态更改这两个TD的内容?其次 - 如果我决定这样做,我将如何从每个TD中删除“工具和锤子” - 就像这样:
<tr><td>Hammers</td></tr>
<tr><td>Wrenches</td></tr>
答案 0 :(得分:1)
您可以像这样更改TD
的上下文;
$('td').html(function() {
return $(this).text().replace('Tools and Other: ', '');
});
答案 1 :(得分:0)
给定一个标识为blah
的表,例如:
<table id="blah">
<tr><td>Tools and Other: Hammers</td></tr>
<tr><td>Tools and Other: Wrenches</td></tr>
</table>
您可以使用以下代码进行替换 - http://jsfiddle.net/Khs7N/:
$("#blah tr td").each(function() {
$(this).text(
$(this).text().replace(
/^Tools and Other/,
"Toolbox"
)
);
});
开头的jQuery selector会找到标识为blah
的元素,找到所有<tr>
个子元素,以及所有元素的<td>
个子元素。然后它将execute the function for each这些元素。
该函数只是抓取文本,在其上调用the JavaScript string.replace
function(使用正则表达式)来纠正文本,然后使用新字符串设置元素的整个文本。
regular expression仅使用^
元字符在字符串的开头匹配“工具和其他”。