首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery超文本标记语言操作问题

jQuery超文本标记语言操作问题
EN

Stack Overflow用户
提问于 2009-06-29 16:55:08
回答 2查看 361关注 0票数 2

我有以下从AJAX请求返回的HTML结构...

代码语言:javascript
代码运行次数:0
运行
复制
<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>

我想要操纵它,所以最终的结果是...

代码语言:javascript
代码运行次数:0
运行
复制
<th>Test<br />Heading</th>
<th>Test<br />Heading2</th>

我基本上想删除内联样式,并从超链接中提取文本。如何使用jQuery轻松做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-29 16:59:22

假设$data是上面解析的DOM结构...

代码语言:javascript
代码运行次数:0
运行
复制
$data.find('th').each(function() {
    $(this).removeAttr('scope').removeAttr('style').html(
        $(this).find('a').html()
    );
}).appendTo(selector);
票数 4
EN

Stack Overflow用户

发布于 2009-06-29 17:03:53

似乎最简单的方法是选择文本,然后使用它来创建新的TH元素,这可以在jQuery中轻松完成。假设您的数据在一个名为data的变量中,您可能希望执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
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元素是可行的,但根据您得到的数量,理论上应该会更快一些。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1059334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档