我有一堆錨標記(<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/ –