用jquery获取链接的src

时间:2014-01-03 02:58:25

标签: javascript jquery jquery-selectors

我有一个类似的链接:

<a rel="Test Images" class="thickbox preview_link" href="http://www.localhost.com:8080/testwp/wp-content/uploads/2013/12/2013-10-02_1728.png">

我需要在同一页面上加载的javascript文件中获取该图像的URL。

我尝试过类似的事情:

image_src = jQuery('a[class=thickbox preview_link]').attr('href');    

但我得到的是Uncaught Error:语法错误,无法识别的表达式:控制台中的[class = thickbox preview_link]。

我在网站上使用jquery 1.10.2

3 个答案:

答案 0 :(得分:1)

你会这样做:

jQuery('a.thickbox.preview_link').attr('href');

您的属性选择器语法不正确,因为它需要用引号('a[class="thickbox preview_link"]')包装它们的空间,但是您总是可以使用类选择器,它大多比属性选择器快,而且顺序不是也很重要。

答案 1 :(得分:0)

thickbox preview_link实际上是 2 类令牌,因此您正在寻找a.thickbox.preview_link或(针对该特定属性)a[class="thickbox preview_link"](注意引号)< / p>

image_src = jQuery('a.thickbox.preview_link').attr('href');
// or 
image_src = jQuery('a[class="thickbox preview_link"]').attr('href');

答案 2 :(得分:0)

万一你需要它,这是vanilla Javascript版本

获取图像

var image = document.getElementsByClassName('thickbox preview_link');

获取(第一张图片的)href

var image_href = image[0].getAttribute('href');

更好的版本

// Declare the image_href variable
var image_href;

// Getting a nodeList of all the applicable images
var image = document.getElementsByClassName('thickbox preview_link');

// If there's only 1 image and/or you only want the first one's href
if(image[0] !== undefined) {
    // if condition to check whether or not the DOM has the images in the first place
    // if yes, update the image_href variable with the href attribute
    image_href = image[0].getAttribute('href');
}

祝你好运!