【问题标题】:Remove Class from DIV found using partial match从使用部分匹配找到的 DIV 中删除类
【发布时间】:2018-03-01 12:46:28
【问题描述】:

我有一个带有类的 div,我需要根据用户与之交互的内容来切换它。

<div class="book-chapter-name chapter2" data-lhg="chapter-info">
    <span>Chapter String Here</span>
</div>

我有一个 jQuery 对象中的当前 div,这是使用以下方法找到的:

$('div[class*="chapter"]')

我想要做的是删除现有类并插入一个新类,以便 chapter2 变为 chapter3

var chapterString = $('#page'+page).attr('data-lhg-chapter'),
    chapterNumber = $('#page'+page).attr('data-lhg-chapter-number'),
    chapterInfo = $('[data-lhg="chapter-info"]');

if($('div[class*="chapter"]')){
    $('div[class*="chapter"]').removeClass('chapter[0-9]');
}

$(chapterInfo).text(chapterString).addClass('chapter'+chapterNumber);

这似乎不起作用,我认为这与传递给 removeClass 的字符串有关,但我不确定在其中放入什么以获得正确的结果。

【问题讨论】:

标签: jquery html


【解决方案1】:

您可以删除所有课程并使用更改后的编号重新添加它们。

$('div[class*="chapter"]').removeClass();

然后

$(chapterInfo).text(chapterString).addClass("book-chapter-name").addClass('chapter'+chapterNumber);

【讨论】:

  • 谢谢!一个真正优雅的解决方案应该自己看过。
【解决方案2】:
$('div[class^="chapter"]')
[attribute^=value]

div[class^="https"] 选择每个&lt;div&gt; 元素,其class 属性值以"chapter" 开头

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 2021-05-06
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多