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

时间:2017-01-30 16:32:28

标签: javascript jquery html wordpress function

这是我用来改变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+')');
}

我在Changing background opacity of div using RGBa找到了这个功能。

我正在使用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);

如果这对你有所帮助,那么here就可以了解我的情况。

问题是它抓住第一类颜色并将其分配给每个具有x类的p(它应该遍历每一个并分别输出它我认为或它应该通过其完整的类名来定位p元素,I&#39 ;我添加了wordpress post id函数,通过向每个单独的x类元素添加一个帖子ID来使每个类都是唯一的,因此每个x类元素被其完整的类名称抓取会有所不同,但这只是我的想法。

所以我的目标是跟随image它只是设计的一部分,为什么我要让它变得不透明。

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

1 个答案:

答案 0 :(得分:0)

我应该做的是:

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