jQuery从数据中查找元素

时间:2015-10-13 13:47:38

标签: javascript jquery

我在查找和设置基于jQuery数据集的元素值时遇到问题。

数据设置如下:

$(this).data('scanner', {type: 'input', id: index});

然后我试图像这样设置元素的值:

$('[data-type="input"][data-id="0"]').val(string);

但没有设置......控制台也不会抛出任何错误。

1 个答案:

答案 0 :(得分:3)

您可以使用filter

$("some_selector").filter(function(){
    var scannerData = $(this).data('scanner');
    return scannerData 
           && scannerData.type === "input" 
           && scannerData.id === 1;
}).val("some string");

以下是一个例子:

$("#div1").data('scanner',{type: 'input', id: 1});

$('div').filter(function(){
  var scannerData = $(this).data('scanner');
  return scannerData && scannerData.type === "input" && scannerData.id === 1;
}).text("Updated");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1">Div1 (has data)</div>
<div>Div2</div>
<div>Div3</div>