2016-01-02 25 views
-1

我想創建後添加一些數據屬性到列表元素。JQuery,創建後不能分配數據屬性

var el = document.createElement('li'); 
    el.className = "list-group-item"; 
    el.attr({"data-content": contentForm, "data-type": contentType, "data-number": value}); 

的錯誤是「遺漏的類型錯誤:el.attr不是一個函數」

我跟另一個討論在這裏,我不能找到問題...

+1

沒有DOM節點的方法'ATTR()''BUT的setAttribute()' –

+0

不能使用'el'上JS一個DOMElement jQuery方法。使用'$(EL).attr({...' – Tushar

+0

不要使用ATTR設置數據 – Popnoodles

回答

2

attr()是一個jQuery函數你不能把它的DOM元素上,嘗試使用setAttribute或讓你的el一個jQuery元素調用attr()前:

el.setAttribute(); 
//OR 
$(el).attr(); 

如果你想添加滾裝屬性data你應該使用data() e.g:

$(el).data({content: contentForm, type: contentType, number: value}); 

希望這有助於。

0

如果您打算使用jQuery,請在jQuery中完成所有操作。

var el = $('<li/>').addClass('list-group-item').attr({"data-content": contentForm, "data-type": contentType, "data-number": value}); 
+0

你不使用ATTR設置數據! – Popnoodles

+0

爲什麼不呢?它的工作原理。 –

+0

你覺得呢?它改變了HTML,它不「T更新jQuery的創建頁面加載全局變量。 – Popnoodles