2016-08-30 130 views
-2

我想不通爲什麼attr()不起作用,但getAttribute()呢。有人可以告訴我爲什麼我面臨這個問題嗎?下面是代碼:爲什麼不.attr工作,但.getAttributes呢?

$('#assignAssetBtn').on('click', function() { 
    tableTools = $('#Grid').DataTable(); 
    $.each(tableTools.$('td input', { 'filter' : 'applied' }), function (idx, data) { 
     // $.each(tableTools.fnGetSelectedData(), function (idx, data) { // this was not working so I changed the code a little bit 
     if (this.checked == true) { 
      debugger; 
      assetList.push({ 
       'id': data.value, 
       'name': (data).getAttribute('name') 
      }); 
     } 
    }); 
}); 

$('#assignAssetBtn').on('click', function() { 
     tableTools = $('#Grid').DataTable(); 
     $.each(tableTools.$('td input', { 'filter' : 'applied' }), function (idx, data) { 
      // $.each(tableTools.fnGetSelectedData(), function (idx, data) { // this was not working so I changed the code a little bit 
      if (this.checked == true) { 
       debugger; 
       assetList.push({ 
        'id': data.value, 
        'name': $(data).attr('name') 
       }); 
      } 
     }); 
    }); 

我與$(數據)嘗試過,但不工作

+6

你在'(data)'前面缺少'$'' –

+0

@ArunPJohny我試過這個。這不起作用。 – Garden

+0

你可以把你的代碼與你嘗試過的attr語法結合嗎? –

回答

0

你錯過了在代碼中「$」別名這是jQuery的一個參考功能。 它的工作原理就像這樣:

$(selector).action() 

而且,由於「ATTR()函數是jQuery的,你需要引用它。

嘗試:

assetList.push({ 'id' : data.value, 'name' : $(data).attr('name') }); 
+0

添加'$'沒有幫助 – Garden

+1

我會簡短地解釋什麼是不正確的,而不僅僅是發佈代碼。你可能是對的 - 但我認爲如果你能解釋問題是什麼以及如何解決它,你會得到+1投票 –

+0

請編輯更多信息。僅限代碼和「嘗試這個」的答案是不鼓勵的,因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。 – abarisone

0

嘗試:

assetList.push({ 'id' : data.value, 'name' : $(data).attr('name') }); 

你必須使用美元符號在開始訪問的jQuery。你可以在這裏找到jquery文檔: Jquery Syntax Documenatation

相關問題