以下是html
:
<a href="http://site.com/any/different/folders/picture_name.jpg">Go and win</a>
<a href="http://site.com/not/similar/links/some_other_name.png">Go and win</a>
如何从a href
切除所有数据,picture_name.jpg
除外?可以有任意长度的链接,我们必须只使用从上一个/
到最后"
的值
如果当前链接的alt
和title
相等,那么任何人都知道最短的比较方法吗?
感谢。
答案 0 :(得分:5)
如果您想分别将href
更改为picture_name.jpg
和some_other_name.png
,可以将功能传递给.attr()
并使用.lastIndexOf()
/ {{ 3}},像这样:
$("a").attr('href', function(i, href) {
return href.substring(href.lastIndexOf('/') + 1);
});
或者,如果你使用的是.each()
,你可以获得/使用这样的值:
$("a").each(function() {
var new_href = this.href.substring(this.href.lastIndexOf('/') + 1);
//use it, e.g.: alert(new_href);
});
答案 1 :(得分:3)
var hrefs = $("a").map( function() {
return this.href.substring(this.href.lastIndexOf('/')+1);
})
将返回一个数组:
["picture_name.jpg", "some_other_name.png"]
嗯,另一个问题......
如果当前链接的
alt
和title
相等,那么任何人都知道最短的比较方法吗?
当然,只需比较它们
var currentLink = $("a")[0]; // whatever
if (currentLink.alt == currentLink.title) {
// some action
} else {
// some other action
}
答案 2 :(得分:2)
使用getElementsByTagName或getElementById获取元素后:
var parts = element.href.split('/')
last_part = parts[parts.length-1]
答案 3 :(得分:1)
var a = $("#link");
var link = a.href;
alert( link.substr(0, link.lastIndexOf("/")+1) );
alert(a.href == a.title);
答案 4 :(得分:1)
您还可以使用正则表达式:
var url = element.href.match(/([^/]*)$/)[1];