我有一堆锚标记(<a>
),我需要转换为<span>
标记。我不需要这样做来禁用点击(我知道关于preventDefault()
并从点击事件处理程序返回false
)。我只需要这样做,以启用拖放排序(IE禁止在锚标签上,但允许跨度)。如何禁用锚(链接)标记(转换为跨度)
我有一个很好的工作解决方案。
我只是想知道,如果你的任何向导有实现相同的最终结果的巧妙方式。
我有一堆锚标记(<a>
),我需要转换为<span>
标记。我不需要这样做来禁用点击(我知道关于preventDefault()
并从点击事件处理程序返回false
)。我只需要这样做,以启用拖放排序(IE禁止在锚标签上,但允许跨度)。如何禁用锚(链接)标记(转换为跨度)
我有一个很好的工作解决方案。
我只是想知道,如果你的任何向导有实现相同的最终结果的巧妙方式。
你可以使用replaceWith
从jQuery的API
$('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
});
从纳文的回答,如果你想href标记也只是修改了这个原则,你就失去了HREF标签
...
$('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span href=\""+$(this).attr('href')+"\">" + $(this).html() + "</span>");
});
});
pal这会产生无效的标记。 span没有href标记 – naveen
'data-href'将是属性名称的更好选择,甚至可以是有效的HTML5。 –
@mu太总之:正在做同样的编辑:)谢谢。 – naveen
虽然我需要保留标记的属性,所以稍后可以撤消此操作。他们不需要在DOM中成为实际的HTML,但我不能完全丢失数据。所以我最终用jQuery的'data()'方法存储它们,并提出了这个问题。 http://jsfiddle.net/5HGbx/1/ –