Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:替换a标记中的每个td_Jquery_Html - Fatal编程技术网

jQuery:替换a标记中的每个td

jQuery:替换a标记中的每个td,jquery,html,Jquery,Html,我想将td表的每个td替换为一个包装好的a标签: $(“td”)。每个(函数(){ if($(this.find(“a”).length){ var link=$(this.find(“a”).attr('href'); $(“a”).contents().unwrap(); var content=$(this.html(); $(此)。替换为(“”); } }); 一些文本 一些 一些文本 一些 您可以使用wrapInner将td中的所有内容用a进行包装。您的$(“a”).content

我想将
td
表的每个
td
替换为一个包装好的
a
标签:

$(“td”)。每个(函数(){
if($(this.find(“a”).length){
var link=$(this.find(“a”).attr('href');
$(“a”).contents().unwrap();
var content=$(this.html();
$(此)。替换为(“”);
}
});

一些文本

一些

一些文本

一些


您可以使用
wrapInner
td
中的所有内容用
a
进行包装。您的
$(“a”).contents().unwrap()
实际上破坏了您的代码,因为它将每个
标签(而不是一个)展开。因此,在包装完所有内容后,您必须手动将这些
a
标记作为目标

参见下面的工作示例

$(“td”)。每个(函数(){
if($(this.find(“a”).length){
var link=$(this.find(“a”).attr('href');
$(此).wrapInner(“

一些文本

一些


代码中的问题是

 $("a").contents().unwrap();
当它第一次执行时,它会将所有锚定标记元素替换为纯文本。因此,下一次迭代无法找到任何锚定标记。这就是为什么只对第一个元素执行。因此,请按如下方式更改代码

  $(this).find("a").contents().unwrap();

给你。用“a”标记将所有子项包装起来,而不是将所有子项包装成一个标记

$(“td”)。每个(函数(){
var-anchor=$(this.find(“a”);
如果(锚定长度){
var link=anchor.attr('href');
anchor.contents().unwrap();//展开链接标记
$(this.children().wrapInner(“

一些文本

一些


请显示“before”和“after”标记,因为描述不太清楚。因此我必须删除
链接
变量中的每个
a
标记。如何实现这一点?@ttcdummy请参见编辑。因为。每个标记都是同步的,您可以在每个函数之后执行