2013-09-25 45 views
-1

有什麼方法可以用jQuery或基本的Javascript來改變元素本身。例如:我們有一個Html標記爲<a href="mysite.com" title='titlevalue'>Link</a>,我們可以像這樣替換它<a href="mysite.com" data-title='titlevalue'>Link</a>用jquery或Raw改變一個元素本身javascript

是的,我們可以添加/刪除標題/數據標題屬性,但是我們有很多鏈接,所以如果我們可以有這樣的事情會更好。搜索谷歌和這裏,但沒有發現這樣的事情,只是改變一個屬性的值和添加/刪除屬性。

請教。

感謝

+2

你嘗試過什麼?另外,我不明白你在問什麼。如何添加/刪除屬性不是你想要的? – Mathletics

+1

爲什麼當標記生成時你不這樣做? – Mathletics

回答

0

難道這樣做太:

​​
1

如果你要添加的數據title屬性每個錨標記,通過使用title屬性的值,你可以做這樣的事情:

$("a").each(function(){ 
    $(this).attr("data-title", $(this).attr("title")); 
    $(this).removeAttr("title"); 
}); 
+0

小心。如果你只是添加數據標題jQuery沒有標題的數據(見我的anwser)。 @ScottMermelstein如果他改變了所有它將只是我的回答:p – nbar

+0

更改的答案刪除標題屬性 – PiX06

1

這將改變標題以數據爲標題在所有A標籤:

$("a").each(function() { 
$(this).attr("data-title", $(this).attr("title")); 
$(this).data("title", $(this).attr("title")); 
$(this).removeAttr("title"); 
}); 

http://jsfiddle.net/eC2cQ/

+0

您可以[**「鏈」**](http://www.w3schools.com/jquery/jquery_chaining.asp)所有這一切:'$(this).attr(「data-title」,$(this).attr(「title」))。data(「title」,$(this).attr(「title」))。 removeAttr(「title」)' – SpYk3HH

1

嗯......沒有jQuery的...(只是因爲它總是很高興有這樣的選擇)

var el = document.getElementsByTagName("a"); 
for(i=0; i < el.length; i++) { 
    el[i].setAttribute("data-title", el[i].getAttribute("title")); 
    el[i].removeAttribute("title"); 
} 
0

使用jQuery,你可以做到以下幾點:

//找到每個標籤具有title屬性

$('a[title]').each(function (index, item) { 
    // cache your jQuery object 
    var $item = $(item); 

    // replace and remove the attributes 
    $item.attr('data-title', $item.attr('title')); 
    $item.removeAttr('title'); 
}); 

幾點Ø F注意:

  • ,如果你想定製在頁面上的元素屬性,你是 最好改變你的後臺流程來創建這些新 屬性。要進一步說明:如果您手動編寫新頁面,只需寫出新屬性;如果您使用的是服務器端技術,請使用您已使用的模板系統將 寫出這些新屬性。
  • 你的例子不是很好的做法:標題屬性對於很多人和機器很有用 。用數據標題替換它們可以防止 找到包含在其中的信息的許多標準技術。還有額外的 含義隱含的數據屬性,它們是多餘, 特定於應用程序的信息,並且鏈接標題最好用於 的通用方式。
  • 它是多餘的:如果您可以讀取 數據屬性,則還可以讀取普通屬性。
  • 還會有其他的方法可以做到這一點沒有使用jQuery,但它的使用非常典型的圖書館,這些天
+0

剛剛解決你的最後一個問題:雖然jQuery常用,但是,它也經常被濫用。因此,我的意思是有很多頁面加載90kb jQuery庫來執行DOM調用(有些甚至不加載壓縮版本,所以> 270kb)。 jQuery是一個很棒的庫,但不應該建議人們僅僅使用它來執行幾個基本的DOM函數。 – Duncan

相關問題