修改jQuery函数(抓取每个DOM元素)



这是我用来更改DOM元素的alpha颜色的函数。

function RGBA(e, alpha) { //e = jQuery element, alpha = background-opacity
b = e.css('backgroundColor');
e.css('backgroundColor', 'rgba' + b.slice(b.indexOf('('), ( (b.match(/,/g).length == 2) ? -1 : b.lastIndexOf(',') - b.length) ) + ', '+alpha+')');
}

我在这里找到了这个函数。使用RGBa更改div的背景不透明度。

我使用的是wordpress,因此我希望这个函数在某个html类的循环中获取每个div。

现在这个函数工作得很好,但它改变了第一个类别的alpha颜色,并在所有类别中循环该颜色。如果你需要更多的细节,那么:我有一个wordpress插件,它为类别分配背景颜色属性,然后在实时网站上输出。

我的代码看起来像这样:

<p class="x" style="background-color: <?php echo $rl_category_color; ?></p>
<?php foreach((get_the_category()) as $category) { echo $category->cat_name . ' '; }

现在我在下面的函数中针对x类

RGBA(jQuery('.x'), 0.2);

如果这对你有帮助,那么在这里你可以看到我的处境。

问题是,它获取第一个类别的颜色,并将其分配给每个具有x类的p(我认为它应该遍历每一个元素并单独输出,或者它应该根据p元素的完整类名来定位p元素,我添加了wordpress-post-id函数,通过向每个x类元素添加post-id来使每个类都是唯一的,这样每个被其完整类名捕获的x类元素都会不同,但这只是我的想法)。

所以我的目标是在下面的图片,这只是设计的一部分,为什么我想让它不透明。

很抱歉,如果我违反了提问规则,我不是这些语言的专家。

我应该做的是:

$(".x").each(function() {
RGBA($(this), 0.2);
}

最新更新