jQuery从匹配的属性值中获取id值

时间:2016-12-02 02:54:56

标签: jquery html

我有这样的标记

EventDate < DateTime.Date.Today

现在,您可以看到每个 <div class="content"> <div class="star"> <ul> <li> <a href="#" id="star2" data-id="123">Test1</a> </li> </ul> </div> <div class="star"> <ul> <li> <a href="#" id="star2" data-id="123">Test1</a> </li> </ul> </div> <div class="star"> <ul> <li> <a href="#" id="star3" data-id="890">Test1</a> </li> </ul> </div> <div class="star"> <ul> <li> <a href="#" id="star7" data-id="543">Test1</a> </li> </ul> </div> <div class="star"> <ul> <li> <a href="#" id="star9" data-id="876">Test1</a> </li> </ul> </div> </div> 都有lidata-product-id。现在,我想说如果id li为876,我想获取ID。然后它应该显示我data-product-id

所以我为此制作了我的代码

star9

但在这里,我没有得到其值为star9的id。 那么这部分有什么问题呢?任何帮助和建议都会非常明显。

2 个答案:

答案 0 :(得分:2)

为什么要使用.start类循环遍历所有元素?为什么不做jQuery('[data-product-id="876"]').attr('id');,如果您的用例如此,请尝试以下代码:

&#13;
&#13;
$(document).ready(function() {
  $('.star').each(function(i, e) {

    if ($(e).find('[data-id="876"]').length > 0)
      console.log($(e).find('[data-id="876"]').attr('id'));

  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="content">
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star2" data-id="123">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star2" data-id="123">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star3" data-id="890">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star7" data-id="543">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star9" data-id="876">Test1</a>
      </li>
    </ul>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我和Norlihazmey在一起,我不明白为什么你要绕过一切。

&#13;
&#13;
$(function() {
  console.log($('[data-id="876"]').prop('id'))
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content">
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star2" data-id="123">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star2" data-id="123">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star3" data-id="890">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star7" data-id="543">Test1</a>
      </li>
    </ul>
  </div>
  <div class="star">
    <ul>
      <li>
        <a href="#" id="star9" data-id="876">Test1</a>
      </li>
    </ul>
  </div>
</div>
&#13;
&#13;
&#13;