我想从HTML链接中获取参数。
例如,我有以下HTML字符串。
示例1:
<div class='mydiv'><a href="/display/2">Link</a></div> // get 2
示例2:
<div class='mydiv'><a href="/display/abc">Link</a></div> // get abc
我该怎么做?
由于
答案 0 :(得分:1)
只需将其视为数组并使用split()
函数:
var myURL = "/display/2";
var splits = myURL.split("/");
alert(splits[splits .length - 1]);
修改强>
我误解了你原来的问题。我认为你只需要知道如何从href中提取2
和abc
。由于我不知道prototype.js(我是一个jQuery人),这里是一个纯粹的JS解决方案:
var classElements = document.getElementsByClassName("mydiv");
var parsedHrefs = new Array();
for(var i = 0; i < classElements.length; i++) {
var anchorsInDiv = classElements[i].getElementsByTagName("a");
for(var j = 0; j < anchorsInDiv.length; j++) {
var splitHref = anchorsInDiv[j].href.split("/");
parsedHrefs.push(splitHref[splitHref.length - 1]);
}
}
alert(parsedHrefs);
您可以查看a working fiddle here。
其他信息
如果你感兴趣,这里是如何在jQuery中完成的:
var aryParsedHrefs = new Array();
$(".mydiv").find("a").each(function() {
var splitHref = $(this).attr("href").split("/");
aryParsedHrefs.push(splitHref[splitHref.length - 1]);
});
alert(aryParsedHrefs);
答案 1 :(得分:1)
查看我的fiddle,其中展示了原型所需的功能。
或检查以下......
var links = $$('div.mydiv > a[href]').inject([], function(arr, el) {
arr.push($A(el.getAttribute('href').split('/')).last());
return arr;
});
答案 2 :(得分:1)
使用拆分功能
$("a").each(function(){
var hrefSplit = this.href.split("/");
if(hrefSplit){
var asssociatedParam = hrefSplit[ hrefSplit.length -1 ];
}
});
纯JavaScript
arr = document.getElementsByTagName("a");
for( var k = 0; k < arr.length; k++){
var hrefSplit = arr[0].href.split("/");
if(hrefSplit){
var asssociatedParam = hrefSplit[ hrefSplit.length -1 ];
}
}