<span>Autre contact :</span>
<label id="Autre contact :" for="">Autre contact :</label>
如何將一個跨度轉換爲標籤?並添加一個id和一個for屬性?jQuery變換跨度到標籤並添加屬性
快樂星期五:)
<span>Autre contact :</span>
<label id="Autre contact :" for="">Autre contact :</label>
如何將一個跨度轉換爲標籤?並添加一個id和一個for屬性?jQuery變換跨度到標籤並添加屬性
快樂星期五:)
我認爲這會做你正在尋找的東西。當然也有不同的結果。
//use a jquery selector to grab the span
var span = $("span");
//generate a label object
var label = $("<label id='Something' for=''>Label Text</label>");
//replace the span
span.replaceWith(label);
+1:也是一個很好的解決方案 –
$('span').replaceWith(function() {
var idAndText = $(this).text();
return '<label id="' + idAndText + ' for="">' + idAndText + '</label>';
});
注意IDS不應包含空格。因此,您可能需要更改HTML或在上述函數中操作ID。
+1:這很好,但我想知道爲什麼noones使用'attr()'函數來分配屬性?任何特定的原因? –
@JamesJohnson我真的沒有理由。 replaceWith函數接受HTML DOM元素,jQuery對象或HTML String。我只是簡單地返回一個HTML字符串以便快速理解 –
別人給予類似的解決方案,但這裏有一個稍微不同的方式:
$("#myspan").replaceWith(
$("<label>").attr({ "id" : "myLabel", "value" : "foo", "for" : "otherElement" }));
不回答你的問題,但你必須在你的'id'屬性,這使得它無效空間。這是你的意圖嗎? –
-1。你有沒有嘗試過任何東西?這是javascript和jquery獲得的基礎。 – maxedison