首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测标签是否有特定的类?

问如何检测标签是否有特定的类?
EN

Stack Overflow用户
提问于 2013-09-13 15:18:42
回答 3查看 2K关注 0票数 0

我有一个下拉菜单,其中包含复选框,并且可以一次检查多个。选中复选框时,标签的类被设置为“选中”,然后在取消选中时删除。

选中复选框之前:

代码语言:javascript
复制
<label><input type="checkbox" name="gainlosstypes[]" value="Losses" class="upperFilter">Losses</label>

选中复选框后:

代码语言:javascript
复制
<label class="checked"><input type="checkbox" name="gainlosstypes[]" value="Losses" class="upperFilte">Losses</label>

当它被选中时,label元素就会调用它的.toggleClass('checked')。

我需要能够检测哪个标签的类被设置为"checked“,这样我就可以根据这些字段过滤数据。

如果$(this)是label元素,那么当我尝试$(this).hasClass('checked')时,它会抛出一个错误。这是我知道的唯一尝试的方法。是否有其他方法可以判断特定的label元素是否有特定的类?

编辑:

当我试图检查属性时,我会得到这些错误。当我使用hasClass时也会发生这种情况:

代码语言:javascript
复制
> $(".multiSelectOptions :checkbox")[1].attr('checked')
TypeError: Object #<HTMLInputElement> has no method 'attr'
> $(".multiSelectOptions :checkbox").parent('label')[1].attr('checked')
TypeError: Object #<HTMLLabelElement> has no method 'attr'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-13 15:22:46

选中的不是css类,而是html属性。因此,您应该检查属性,而不是类。

你应该试着:

代码语言:javascript
复制
if($(this).attr('checked') != null)
{
    //do stuff here
}

编辑:

就像@Bojangles说的那样,checked可以是一个定制的CSS类,但是与自定义css类相比,选择带有属性的复选框可能更有意义。

编辑2:

请跳过先前的答案,而使用以下内容:

您可以在以下方面使用JQuery选择器:

例如:

代码语言:javascript
复制
$('.checked')//this would get you all the element with the class 'checked'

//if you want to check if you have any check element:

if($('.checked').length > 0)
{
    //do stuff here
}

//To loop trought all the element that are 'checked'

$('.checked').each(
function(index)
{
    $(this).removeClass('checked');
    //do stuff here for exemple...
}
)
票数 1
EN

Stack Overflow用户

发布于 2013-09-13 15:22:31

如果标签具有属性“checked”集,这将设置checked,否则,您将得到未定义的逻辑,并且可以将您的逻辑建立在此基础之上。

代码语言:javascript
复制
var checked = $(this).attr('checked');
票数 -2
EN

Stack Overflow用户

发布于 2013-09-13 15:26:43

怎么样

代码语言:javascript
复制
if( $(this).attr('class') == "checked" ){
    ... do something
}

它将检查已检查的类。。。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18789828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档