如何在jquery

时间:2016-08-12 13:13:06

标签: jquery

HTML

  <span class="unread" id="@item.TaskId" data-id="read"> @item.Title</span><br />

jquery的

$("#notificationsBody > span").find("[data-id='read']").attr('class', 'read');

如何在此代码中找到所有data-id并将其类设置为read?以上行无效

4 个答案:

答案 0 :(得分:1)

由于它是data-id的范围,因此您无法使用.find(),因为它会搜索后代。改为使用.filter(),或者更好,将其放在选择器中。

您可能还想使用.addClass()代替.attr()

$("#notificationsBody > span[data-id='read']").addClass('read');

如果您必须删除课程unread,则可以链接.removeClass()

$("#notificationsBody > span[data-id='read']")
  .addClass('read');
  .removeClass('unread');

答案 1 :(得分:0)

find()贯穿于孩子们的深处。但是,孩子()经历了第一级孩子。

$("#notificationsBody").chlidren("span[data-id='read']").addClass('read').removeClass('unread');

答案 2 :(得分:0)

以最佳方式

var divisors = Enumerable.Range(1, 20);
if(divisors.All(div => i % div == 0))
{
  //do someting
}

答案 3 :(得分:0)

我试着运行你的代码并且他的工作。

&#13;
&#13;
$('.activate').click(function() {
	$("#notificationsBody > span").find("[data-id='read']").attr('class', 'read');
});
&#13;
li {
 display:none;
}
.read {
  display:block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="notificationsBody">
  <span>
    <ul>
      <li data-id="read">a</li>
      <li data-id="read">b</li>
    </ul>
  </span>
</div>
<button class="activate">Add read class</button>
&#13;
&#13;
&#13;