如何使用其属性定位元素?

时间:2013-12-18 04:37:27

标签: jquery jquery-selectors

要使用它的类来定位和/或过滤选择器,我们可以这样做:

$('selector').filter('[class]="");

但是这次我需要使用它的属性来定位元素,或者说使用属性src过滤元素,如下所示:

var srcvar = 'images/flower.jpg';
$('div img').filter('[attr]="'+srcvar+'"');// ofcourse! this is not correct way

到目前为止,我尝试过这样做:

var sr = $('div img').filter(function () {
            return $(this).attr('src') == srcvar;
            });

这没关系!但是我希望得到下一个img,比如sr.next()或者说我想选择attr src等于srcvar的元素。

那么,我该怎么做?

2 个答案:

答案 0 :(得分:3)

尝试以这种方式使选择器选择与指定值相等的src元素的img元素:

var $imgs = $('div img[src="' + srcvar + '"]');

并获取你可以做的next()元素:

 var allNextElms = $imgs.next();

无论是使用单个选择器还是使用过滤器选择器,您所缺少的关键部分都是[src="' + srcvar + '"]',而您的上一个过滤器代码段也应该完全返回您需要的内容。

答案 1 :(得分:0)

尝试:

$('div img').filter('[src="'+srcvar+'"]');