操作jquery集合
Manipulating a jquery collection
我有一个JQuery集合创建:
var children = $('span[data-Parent="7"]');
现在我想操作该集合中项目的css类。我试过:
for (var i = 0; i < children.length; i++) {
var $child = children[i];
if ($child.hasClass("red")) {
$child.addClass("green");
}
但是得到错误,指出对象没有方法hasClass。如何使集合的元素成为文档元素,以便对其进行操作?
必须将DOM元素包装为jQuery对象。使用jQuery迭代元素通常通过提供的每个函数来完成:
$('span[data-Parent="7"]').each(function(){
if ($(this).hasClass('red')) {
$(this).addClass('green');
}
});
注意整个代码可以简化为
$('span[data-Parent="7"].red').addClass('green');
我建议使用$.each
:
$.each(children, function(i, child) {
if ($(child).hasClass("red")) {
$(child).addClass("green");
}
});
只需循环遍历每个子节点并在.each
循环中运行检查。
var children = $('span[data-Parent="7"]');
children.each(function(index)
{
var self = $(this);
if (self.hasClass("red"))
{
self.addClass("green");
}
});
修改代码为:
var $child = $(children[i]);
//the rest of the code
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 如何在我传递给视图的ViewModel集合中获得jQuery可选对象的值,以作为有序列表进行迭代
- 如何获取jQuery集合中的第k个元素..作为JQUERY元素
- jquery集合元素悬停
- 集合数据和jQuery
- 包装jQuery集合并附加到类
- 在集合中查找空的输入元素 - jQuery
- 如何在集合中的项上触发 jQuery 事件(意外的 jQuery 结果来自 $._data() 与集合的第一个元素)
- ASP.NET MVC3 表单集合在 jQuery ajax 发布期间为 0
- 使用 jQuery 填充“从集合中选择框”
- 检查元素是否在 jquery 集合中
- 如何在 jquery 数组集合中获取值的范围
- 使用 Hide()/Show() 隐藏数组中 jQuery 元素的集合
- 使用 jQuery 延迟对象以串行方式处理 jQuery 集合/数组
- Backbone.js - 使用 jquery 移动渲染渲染渲染的渲染集合,无需样式
- JQuery each() 函数代码即使在集合中没有元素时也在运行
- 需要将 JQuery 与 Shopify 一起使用的示例来创建集合并使用返回的 ID 添加产品
- Jquery/JavaScript 代码绑定到集合
- jQuery集合、功能和组织
- 对象集合之间的jQuery.index