如何更改最接近的id的颜色

时间:2014-01-21 18:43:47

标签: jquery ajax

新手问题。

我有

document.getElementById('heart-color').style.color = '#ff748c';

但是如何将颜色更改为最近的ID?想做这样的事......

$(this).closest('id').attr('style','color:#ff748c');

编辑:我在yii中有这个,所以我从浏览器中复制了一部分

<?php foreach($product as $product): ?>
    //stuff
    <button class="heart-circle-prod heart-color " 
    style="color:#ff748c;z-index:1" product_id="6" onclick="getResponse(this, 6);"
    name="yt2" type="button"><i class="fa fa-heart" id="heart-color"></i></button>
    //stuff
<?php endforeach; ?>

4 个答案:

答案 0 :(得分:0)

试试这个:

$(this).closest('#name').css('color', 'red');

答案 1 :(得分:0)

试试这个

$("#heart-color").css({
   color: "#ff748c"
});

答案 2 :(得分:0)

你的意思是相邻元素吗?

在这种情况下你可以这样做:

  $(this).next().css({
        color: "#ff748c"
     });

答案 3 :(得分:0)

您正在循环中设置id="heart-color"。你不能这样做。 ID应该是唯一的。您不能拥有具有相同ID的多个元素。

请勿在此处使用id,而是使用class

<?php foreach($product as $product): ?>
    //stuff
    <button class="heart-circle-prod heart-color " 
    style="color:#ff748c;z-index:1" product_id="6" onclick="getResponse(this, 6);"
    name="yt2" type="button"><i class="fa fa-heart heart-color"></i></button>
    //stuff
<?php endforeach; ?>

然后由于<i>标记是按钮的,您可以执行以下操作:

$(this).children('.heart-color').css('color','#ff748c');