0

以下是我用来注入需要应用于具有这两种样式组合的 Div 的样式:.noindex.ms-wpContentDivSpace

<script>
$(document).ready(function(){
$('.noindex, .ms-wpContentDivSpace')..css({
   overflow: auto,
   height : '150px'
});
});
</script>



<style> 
    .autoScrolListViewWP 
    {   
        HEIGHT: 150px; 
        OVERFLOW: auto 
    } 
</style>
<script> 
    $(document).ready
    (
        function()
        { 
            $('.noindex, .ms-wpContentDivSpace').addClass('autoScrolListViewWP');
        }
    );
</script>

好吧,但我需要的是,上面的新 CSS autoScrollListViewWP应该只添加到那些 CSS 组合仅适用于这两个类 .noindex.ms-wpContentDivSpace 的元素中

但是上面的脚本会将样式应用于存在这两个类的任何 CSS 组合。例如.ms-WPBody.noindexms-wpContentDivSpace autoScrollListViewWP

我的问题是如何仅识别 CSS 类的特定组合?

4

5 回答 5

1

编辑我之前的代码:

$("[class*='.noindex .ms-wpContentDivSpace']").addClass('autoScrolListViewWP');

这应该有效。

编辑:它工作,见例子:JsFiddle

于 2013-01-30T14:50:49.190 回答
1

一个解决方案是获取这两个类的所有元素,然后遍历它们并查看它们是否有其他类。IE:

$('.noindex.ms-wpContentDivSpace').each(function(i, elem) {
    var classes = elem.className.split(/\s+/);
    if (classes.length === 2) { // they should have only these two classes
        $(elem).addClass('autoScrolListViewWP');
        // alternatively elem.className += ' autoScrolListViewWP'; (untested)
    }
});
于 2013-01-31T06:15:59.210 回答
0

把空间拿出来。

$('.noindex.ms-wpContentDivSpace').addClass('autoScrolListViewWP');

这只会将一个类添加到一个同时具有类noindexms-ContentDivSpace.

是的,jQuery 非常聪明。这就像使用 CSS 一样。

编辑:

如果元素具有这两个类但没有其他类,我没有意识到您想选择该元素。这有点棘手。

如果您知道不想包含哪个课程,那么这是最简单(也是最快)的方法:

$('.noindex.ms-wpContentDivSpace').not('.theClassYouDontWant').addClass('autoScrolListViewWP');
于 2013-01-30T14:54:12.170 回答
0

尝试

$('.noindex.ms-wpContentDivSpace').addClass('autoScrolListViewWP');

这是具有两个类的元素的标准css触发器

于 2013-01-30T14:54:16.637 回答
-2

在您的 jQuery 调用中,

$('.noindex, .ms-wpContentDivSpace')..css({

表示每个 .noindex 和每个 .ms-wpContentDivSpace

$('.noindex.ms-wpContentDivSpace')..css({

表示 .noindex AND .ms-wpContentDivSpace

于 2013-01-30T14:51:10.300 回答