jQuery选择器

问题描述 投票:5回答:2

我正在尝试从查看源中获取此内容,即:

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

jquery css-selectors
2个回答
10
投票

问题出在属性选择器:$('img[src^="wwv_flow_file_mgr"]')

[您在jQuery v1.3.2中遇到known bug-jQuery尝试使用其绝对URL解释图像路径,这意味着它要比较的URL实际上以“ http://...”开头

您可以使用*=暂时解决此问题(它查找包含文本“ wwv_flow_file_mgr”的属性值,而不是从头开始):

var $templateButtons = $('img[src*="wwv_flow_file_mgr"]').parent('a');

1
投票

这很奇怪,尽管它与您使用的选择器不兼容,但我认为应该如此。

但是,虽然不是很干净,但确实可以使用如下所示的过滤器。

var $templateButtons = $("img")
                       .filter(function(){
                             return $(this).attr('src')
                                    .indexOf('wwv_flow_file_mgr')==0;
                       }).parent('a');
© www.soinside.com 2019 - 2024. All rights reserved.