2017-12-18 137 views
0

jQuery和嘗試添加數據屬性使用jquery的數據的方法,但是不能夠追加值設定值數據屬性使用用於創建一個新的輸入元件動態地生成的輸入元件

Js Fiddle to the above issue

var txtBox = $('<input/>', { 
 
    "class": "myCustomClass", 
 
    "type": "text" 
 
}); 
 
$('#wrapper').append(txtBox); 
 
txtBox.data('index', '1');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='wrapper'>Input Text Box : </div>

+1

您的代碼工作正常:https://jsfiddle.net/bb69fgbj/3/。混淆的根源很可能是因爲data()不更新DOM,所以'data-index'屬性不會出現在檢查器中。只要你使用'data()'的getter來檢索這個值,你就沒有問題了:'var index = txtBox.data('index')' –

+0

除了@ RoryMcCrossan的評論,如果你想要數據要在HTML上顯示,可以使用['attr'](http://api.jquery.com/attr/)方法。 – 31piy

+0

使用.attr()來解決問題。謝謝:) –

回答

0
var txtBox = $('<input/>', { 
       "class" : "myCustomClass", 
       "type" :"text", 
       "data-index":"" 
      }); 
$('#wrapper').append(txtBox);   
txtBox.attr('data-index','ddddddddd'); 
+0

@Rory McCrossan是對的。但是,如果我們想確認attr也是不錯的選擇,那麼數據就是html5的功能。 –

0

的代碼工作fineI認爲你正在尋找的代碼是 txtBox.attr('data-index', '1');

更多的信息,爲什麼你所期望的。數據沒有工作,檢查這個答案 here

+0

最好將鏈接的詳細信息添加到您的帖子中,以防萬一它死了。 –

相關問題