我有一堆锚点 (<a>
),需要将它们转换成 <span>
标签。这不是为了禁用点击事件(我知道使用preventDefault()
和从单击事件处理程序返回false
来禁用点击事件)。我只需这样做就能启用拖放排序(IE中禁止在锚点上进行拖放,但允许在span上进行)。
我已经有一个可行的解决方案。
我只是想知道你们中是否有任何厉害的人有更简洁的方法来实现相同的结果。
我有一堆锚点 (<a>
),需要将它们转换成 <span>
标签。这不是为了禁用点击事件(我知道使用preventDefault()
和从单击事件处理程序返回false
来禁用点击事件)。我只需这样做就能启用拖放排序(IE中禁止在锚点上进行拖放,但允许在span上进行)。
我已经有一个可行的解决方案。
我只是想知道你们中是否有任何厉害的人有更简洁的方法来实现相同的结果。
你可以使用jQuery API中的replaceWith
函数。
$('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
});
这里提供演示地址:http://jsfiddle.net/naveen/ufYCt/1/
从Naveen的回答中,您将失去href标签。
如果您也想要href标签,请按以下方式进行修改...
$('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span href=\""+$(this).attr('href')+"\">" + $(this).html() + "</span>");
});
});
data()
方法将它们存储起来,并得出了这个结果。http://jsfiddle.net/5HGbx/1/ - Peter Lyons