Вопрос
Я пытаюсь взять это из источника просмотра, т. е.:
<a href="javascript:validateCB();"><img src="wwv_flow_file_mgr.get_file?p_security_group_id=1343380920146312332&p_flow_id=222&p_fname=submit_btn.gif" alt="Submit Details" border="0" />
в формат селектора jQuery
var $templateButtons = $('img[src^="wwv_flow_file_mgr"]').parent('a');
Но это, похоже, неверно.
Есть идеи, как перевести приведенный выше исходный код просмотра в jQuery?
Спасибо, Тони.
Решение
Проблема заключается в селекторе атрибутов: $('img[src^="wwv_flow_file_mgr"]')
Вы испытываете известная ошибка в jQuery версии v1.3.2 - jQuery пытается интерпретировать путь к изображению, используя его абсолютный URL, что означает, что URL, который он сравнивает, на самом деле начинается с "http://...
"
Вы можете временно обойти это, используя *=
(который ищет значение атрибута, содержащее текст "wwv_flow_file_mgr" вместо того, чтобы начинаться с него):
var $templateButtons = $('img[src*="wwv_flow_file_mgr"]').parent('a');
Другие советы
Это очень странно, это не работает с имеющимся у вас селектором, хотя, я думаю, так и должно быть.
Однако, хотя он и не очень чистый, он работает с использованием фильтра, как показано ниже.
var $templateButtons = $("img")
.filter(function(){
return $(this).attr('src')
.indexOf('wwv_flow_file_mgr')==0;
}).parent('a');