gpt4 book ai didi

javascript - jQuery 函数链接与基于类的条件,可能吗?

转载 作者:行者123 更新时间:2023-11-28 11:47:09 25 4
gpt4 key购买 nike

所以我有一个 jQ block ,它可以在用户触发时交换一些类并调整按钮的样式。

看起来像这样,

// Initial object selection
$(b)
// Select the Icon
.siblings('i')
// add class of new icon
.addClass('fa-check-square-o')
// remove class of old icon
.removeClass('fa-square-o')
// select the parent element (label)
.closest('label')
// adjust for the size change of the icon
.css('padding-right', '3px')
// add the new button contextual class
.addClass('btn-success')
// remove possible old contexual button classes
.removeClass('btn-danger btn-warning');

这按预期工作,但是,我还有另一种情况,其中按钮可能具有上下文 'btn-info' 类,我想确定该类是否存在于 上'标签' 元素。

我以为我能做到;

// ... jQ chain above ...
// remove possible old contextual button classes
.removeClass('btn-danger btn-warning')
// Conditonally check 'label' if it has class
.hasClass('btn-info')
// 'label' has the class... Do Stuff
.removeClass('btn-success btn-warning btn-danger');

但是我收到错误,“...removeClass() 不是函数”

我还尝试使用 .has('.btn-info') 代替 .hasClass() ,但没有收到错误消息获得删除其他 3 个类并留下 'btn-info' 类的预期结果。

这是一个带有链接的逻辑工作流程吗?我是否有正确的期望,或者我对 jQ 的要求是否过高?

非常感谢您的想法。

<小时/>

良好的 HTML 标记,

只是一个简单的引导按钮组

<div class="btn-group btn-group-xs" data-toggle="buttons">
<label class="btn btn-success">
<input type="radio" name="options" id="ynna-yes" autocomplete="off">
<i class="fa fa-square-o fa-lg"></i>
</label>
<label class="btn btn-danger">
<input type="radio" name="options" id="ynna-no" autocomplete="off">
<i class="fa fa-square-o fa-lg"></i>
</label>
<label class="btn btn-info">
<input type="radio" name="options" id="ynna-na" autocomplete="off">
<i class="fa fa-square-o fa-lg"></i>
</label>
</div>

最佳答案

hasClass()返回一个 bool 值,所以你想要使用的是 filter()这将返回匹配的元素。

.removeClass('btn-danger btn-warning')
.filter('.btn-info')
.removeClass('btn-success btn-warning btn-danger');

关于javascript - jQuery 函数链接与基于类的条件,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com