Heading
我有以下从AJAX请求返回的HTML结构...
<th scope="col" style="yada,yada,yada">
<a href="javascript:funcName();" style="yada,yada,yada">
Test<br />Heading</a></th>
<th scope="col" style="yada,yada,yada">
<a href="javascript:funcName2();" style="yada,yada,yada">
Test<br />Heading2</a></th>
我想要操纵它,所以最终的结果是...
<th>Test<br />Heading</th>
<th>Test<br />Heading2</th>
我基本上想删除内联样式,并从超链接中提取文本。如何使用jQuery轻松做到这一点?
发布于 2009-06-29 08:59:22
假设$data
是上面解析的DOM结构...
$data.find('th').each(function() {
$(this).removeAttr('scope').removeAttr('style').html(
$(this).find('a').html()
);
}).appendTo(selector);
发布于 2009-06-29 09:03:53
似乎最简单的方法是选择文本,然后使用它来创建新的TH元素,这可以在jQuery中轻松完成。假设您的数据在一个名为data的变量中,您可能希望执行以下操作:
var newTH = ''; // To store as you go
$("th a", data).each(function(){ // Loop over all anchors in THs
newTH += "<th>" + $(this).html() + "</th>"; // Pull out the innerHTML of the anchor, wrap in TH
});
现在,可以使用jQuery将newTH变量作为一大块HTML追加到表中。
为了提高速度,我建议先把它构建成一个字符串。操作和更改DOM元素是可行的,但根据您得到的数量,理论上应该会更快一些。
https://stackoverflow.com/questions/1059334
复制相似问题