尝试使用JQuery选择其他元素中的链接

时间:2014-02-01 16:44:16

标签: javascript jquery html google-chrome-extension

所以我正在为特定网站制作插件,我正在尝试选择某个链接,但前提是它旁边的图片有某个标题。

这里唯一的问题是图片和链接不在同一个元素中,我不太确定如何定位链接。

JSFiddle example

$('div.column.first img[title="True"]').css({
    "background-color": "red"
});

$("div.column a").parent().css({"background-color": "red"});

这是我所拥有的所有代码(我知道它并不多,但我完全陷入困境)

任何人都可以提前告知我应该如何解决这个问题,提前谢谢

3 个答案:

答案 0 :(得分:1)

试试这个:

$('div.column.first img[title="True"]').parent().siblings().find('a').css({
    "background-color": "red"
});

您还可以使用.next()方法代替.siblings()。根据您的标记,替代方法是使用.has()方法:

$('li.even').has('img[title="True"]').find('a').css({
    "background-color": "red"
});

:has选择器:

$('li.even:has(img[title="True"]) a').css("background-color", "red");

答案 1 :(得分:1)

试试这个

$('div.column.first img[title="True"]').css({
    "background-color": "red"
});
$('div.column.first img[title="True"]')
    .parent() //Select Parent
    .next() //Next Div
    .find('a')
    .css({"background-color": "red"});

DEMO

答案 2 :(得分:0)

试试:

$('.column').find("img[title='True']").closest("li").find("a").css({"background-color": "red"});

你只需要在列类中查找img,找到li然后链接并更改css。我的建议主要是在链接中增加一些课程。如果你可以改变,你可以使用data属性代替标题。