从JQuery中的锚标记获取值/相对url?

时间:2011-01-31 14:33:03

标签: javascript jquery

我有一些像这样的HTML:

<span class="fetchSeries"><a href="sma10">10</a></span>

我想得到值“sma10”,但是当我尝试引用它时,href属性成为绝对路径。有没有办法获得锚标记的相对路径?

这就是我想要完成的事情:

  1. 将自定义函数绑定到click()以查找span class =“fetchSeries”标记内的任何超链接。
  2. 提取该链接唯一的值(例如,sma10)。

4 个答案:

答案 0 :(得分:3)

如果唯一值实际上不是href,则可以使用数据属性:

<强> HTML

<span class="fetchSeries"><a href="#" data-myvalue="sma10">10</a></span>

<强> JAVASCRIPT

$('.fetchSeries a').click(function() {
   var myval = $(this).data('myvalue');
});

文档:http://api.jquery.com/data

答案 1 :(得分:1)

使用code

$(function(){
    var v = $('.fetchSeries a').attr('href');
    alert(v);
});

答案 2 :(得分:1)

请参考我的回答这个stackoverflow帖子: Jquery how to trigger click event on href element

或使用纯javascript

var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";

parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.search;   // => "?search=test"
parser.hash;     // => "#hash"
parser.host;     // => "example.com:3000"

来自https://gist.github.com/ldong/9735bcd2d3eca8c1038b

答案 3 :(得分:0)

只要href的值是相对的,就可以使用getAttribute来获取href的相对值。

即。 document.getElementByID("theLink").getAttribute("href");