получение источника ссылки с помощью jquery

0

У меня есть ссылка вроде:

<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">

Мне нужно получить url этого изображения внутри javascript файла, загруженного на ту же страницу.

я попробовал что-то вроде:

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

но все, что я получаю, - это "Неподготовленная ошибка": ошибка синтаксиса, нераспознанное выражение: [class= thickbox preview_link] в консоли.

Я использую jQuery 1.10.2 на сайте

Теги:
jquery-selectors

3 ответа

1
Лучший ответ

Вы бы сделали:

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

Синтаксис вашего синтаксиса атрибутов неверен, так как он имеет пространство, необходимое для их 'a[class="thickbox preview_link"]' в кавычки ('a[class="thickbox preview_link"]'), но вы всегда можете использовать селектор классов, который будет в основном быстрее, чем селектор атрибутов, и порядок не имеет значения.

  • 1
    Но на самом деле они не одинаковы
  • 0
    @Musa, конечно, они не должны использовать атрибут селектора в этом случае. По крайней мере, в этом случае у меня больше недостатков, чем преимуществ…
0

На всякий случай, если вам это нужно, здесь версия ванильного 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 only 1 image and/or you only want the first one 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');
}

Удачи!

0

thickbox preview_link на самом деле является 2-мя токенами класса, поэтому вы ищете a.thickbox.preview_link или (для этого конкретного атрибута) a[class="thickbox preview_link"] (обратите внимание на кавычки)

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню