Вопрос

Я пытаюсь взять это из источника просмотра, т. е.:

<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');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top