2014-11-16 41 views
0

请问,有没有什么办法将内容放入元素不知道ID或类,但它的属性?我有更多的这对双胞胎的地方:jQuery - 设置.html()元素的数据为属性

<input id="someSpecialId" class="autocomplete"/> 
<ul data-for="someSpecialId"></ul> 

列表可以在页面上的任何地方,而不是输入旁边。 在jQuery中我有这样的:

$(document).on('keyup', '.autocomplete', function() { 
    var sectionName = 'autocomplete'; 
    var min_length = 2; 
    var inputID = $(this).attr('id'); 
    var keyword = $(this).val(); 
    var $output = // HERE I NEED TO PUT FOUND ELEMENT BY IT'S data-for = inputID 
    if (keyword.length >= min_length) { 
     $.ajax({ 
      url: 'php/readDB.php', 
      type: 'POST', 
      data: {section: sectionName, keyword:keyword}, 
      success:function(data){ 
       $output.show(); 
       $output.html(data); 
      } 
     }); 
    } else { 
     $output.hide(); 
    } 
}); 

你有什么想法吗?非常感谢你的回答。

回答

2

您可以使用它的选择器属性。一般来说,他们是这样的:无论是在CSS和jQuery

$('ul[data-for="'+inputID+'"]'); 

这些工作:[attribute="value"] 在你的情况,你可以使用这样的事情。这里有一个jsFiddle的例子:http://jsfiddle.net/3p6e57gw/1/