0

如何使用 jquery 获取并检查 href 路径是否包含图像路径或其他链接。 例如:

<a href="image.png"><img src="image.png"/></a>

在上面的示例中,锚文本包含图像 src,那么只有 jquery 函数才能找到 href 路径。即,href仅当锚文本包含img标签时才获取路径。

我查看了.has用于检查图像的 in jquery api。但是我如何检查href是否包含图像路径或其他路径。我将根据 SO 用户的建议做一些事情,比如。

<script type="text/javascript">
                            jQuery(document).ready(function($) {
                                if (jQuery('a').has("img")) {  // it return the no. of img tag within a
                                    jQuery('a').has("img").prop('href', '#');
                                }

                            });
                        </script>

请参阅上面的脚本执行操作以检查锚文本是否包含图像标签,然后仅在锚标签的 href 链接上使用 #。通过同样的方式添加喜欢做上面的脚本来检查href是否包含任何图像路径或链接。如果图像路径包含在 href 上,那么上面的脚本应该执行,否则它不会。

@Downvoters 的任何可能原因。?

是否可以在 jquery 中做,任何建议将不胜感激。

4

8 回答 8

6

你可以做

$('a:has(img)').click(function(){
    var href = this.href; //or $(this).attr('href')
    if(/\.(png|gif|jpg|jpeg)$/i.test(href)){
        alert('do')
    }
})
于 2013-07-09T09:09:18.030 回答
2

首先找到href使用attr()jQuery的函数:

var href = $link.attr('href');

然后,您必须使用此问题的答案中的指示来验证 href 是否为图像。

于 2013-07-09T09:08:52.163 回答
2

使用attr-文档在这里。

例子:

我的链接

console.log($('#myLink').attr("href"));
于 2013-07-09T09:08:52.320 回答
2
var href = $('a').attr('href');

或者

var href = $('a').prop('href');
于 2013-07-09T09:09:53.450 回答
2

首先,您必须选择链接,例如

<a href="link" id="ourlink" ></a>

然后可以使用 attr 方法获取或设置 href

$("#ourlink").attr('href'); // Here you get it
$("#ourlink").attr('href','anotherlink'); //here you set it
于 2013-07-09T09:10:24.250 回答
2

做这样的事情-

var url = $('a').attr('href');

if(verify url is of type image here){
//true

}
else{
//false

}
于 2013-07-09T09:10:56.397 回答
1

使用正则表达式检查 href 属性中的字符串:

var patt=/(png|jpg|gif)/g;
if(patt.test($('a').attr('href'))){
//do something if image
} else {
//do something else
}
于 2013-07-09T09:13:52.320 回答
1

您可以测试锚标记的属性并使用正则表达式检查 href 是否具有带有图像文件扩展名的文件。

        //Get the value of href attribute of anchor tag
        var anchorHref = $("a:has(img)").attr("href");

        //Check the extention of the file
        if((/\.(gif|jpg|jpeg|tiff|png|bmp)$/i).test(anchorHref))
        {
            alert("It is Image Path"); 
        }
于 2013-07-09T09:19:41.913 回答