使用部分匹配从DIV中删除Class

时间:2017-09-20 12:38:23

标签: jquery html

我有一个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的字符串有关,但我不知道该放什么来获得正确的结果。

2 个答案:

答案 0 :(得分:1)

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

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

然后

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

答案 1 :(得分:1)

$('div[class^="chapter"]')
[attribute^=value]

div[class^="https"]选择<div>属性值以class开头的每个"chapter"元素