2016-08-30 95 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

相关问题