为什么这个jQuery选择器找不到任何东西?

时间:2014-12-15 14:33:07

标签: javascript jquery

我在div里面有一个div。这个内部div有一个数据属性。我尝试应用this问题的答案来找到内部div,但我没有运气。我做错了什么?



var content = $('#mapElements').find('.mapMarker [data-depotid="b04b4184"]').data('depotguid');

$('#result').text(content);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id='mapElements'>
  <div class="mapMarker" data-depotid="b04b4184">This is the text from mapMarker, and if the depotID appears below this text the code works!</div>
</div>

<div id='result'></div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:8)

用于定位.mapMarker元素的错误选择器。使用:

var content = $('#mapElements').find('.mapMarker[data-depotid="b04b4184"]').data('depotguid');
                                             //^space not required here

您还可以将子元素的选择器缩小到:

var content = $('#mapElements').find('.mapMarker').data('depotguid');

答案 1 :(得分:-1)

试试这个

$(" #mapElements > .mapMarker[data-depotid='b04b4184'] ");

或直接

$(".mapMarker [data-depotid='b04b4184']");