У меня есть ссылка вроде:
<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('a.thickbox.preview_link').attr('href');
Синтаксис вашего синтаксиса атрибутов неверен, так как он имеет пространство, необходимое для их 'a[class="thickbox preview_link"]'
в кавычки ('a[class="thickbox preview_link"]'
), но вы всегда можете использовать селектор классов, который будет в основном быстрее, чем селектор атрибутов, и порядок не имеет значения.
На всякий случай, если вам это нужно, здесь версия ванильного 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');
}
Удачи!
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');