我对此有点挣扎:假设我在正文中有一个类,<body class="video page">
在我的页面中我有一个分页,它<body class="video-2 page">
在每一页添加一个这样的数字。我想以该类为目标,video
无论它是否具有数字,以便在满足条件时应用一些 jquery。
我怎么做?
我对此有点挣扎:假设我在正文中有一个类,<body class="video page">
在我的页面中我有一个分页,它<body class="video-2 page">
在每一页添加一个这样的数字。我想以该类为目标,video
无论它是否具有数字,以便在满足条件时应用一些 jquery。
我怎么做?
您可以使用此属性选择器来选择具有以 开头的类属性的元素video-
:
[class^="video-"]
但要使其正常工作,您必须确保video-
该类是元素class
属性中的第一个类(请参阅http://jsfiddle.net/Czyep/)。
video
将类和分页类分开可能会更好,例如:
<body class="video page-2 page">
我会像class="video two page"
这样拆分课程,以便您仍然可以分别处理这两个课程。不过你可以做类似的事情
$('body[class*=video]')
$("body").not(".video");
应该选择所有以数字结尾的实体。你也可以这样做:
if($("body").is("[class$='video-'")) {}
你试过这样的事情吗?
$('.video,.video-'+pageNumber).dosomething()
您可以使用以 selector 开头的属性:
$("body[class^='video']");
假设我正确理解了您的问题,我建议您在选择器中使用串联。
我假设您知道您在 body 标签上指定了两个类,即 video 和 page 或 video-2 和 page。因此,我假设该页面在您的选择中很重要,应该包含在您的选择器中。
因此我会使用这种语法,虽然不像某些语法那样简洁,但很清楚发生了什么。显然,您需要将其合并到驱动您的页面选择的逻辑中。
var suffix = "";
$(".video" + suffix + ".page").dosomething(); // select <body class="video page">
suffix = "-2";
$(".video" + suffix + ".page").dosomething(); // select <body class="video-2 page">
请注意,选择器中的类之间不应有空格,因为它们已在 html 中的同一标记中声明。
您是否指定了类似的内容
<body class="video"> // body wrapper
<div class="page"> // page wrapper
</div>
</body>
然后需要一个空格,因为您随后希望在正文中的 div 页面上与类视频或视频 2 进行匹配(视情况而定)。
suffix = "-2";
$(".video" + suffix + " .page").dosomething(); // select <body class="video-2"><div class="page">