如何存储链接标记的值

时间:2011-10-25 07:23:45

标签: javascript html ajax

如果我有一个网址,例如<a href="JavaScript:article('40')">What is the difference between Archiving and Trashing an Article? </a>,我该如何存储href的值?请注意,这是在ajax应用程序中使用的,因此当用户在浏览器地址栏中单击它时,我实际上看不到此URL。当我得到href的值时,我应该能够将它放在浏览器中并执行与用户点击它相同的结果。

2 个答案:

答案 0 :(得分:0)

不确定你想要什么...

以下是如何获取href属性并执行javascript:

<a id="link" href="JavaScript:article('40')">Text</a>

eval(document.getElementById('link').href);

或者您想获得数字'40'并将其存储到服务器? (为此使用ajax)

答案 1 :(得分:0)

由于您在链接上没有ID - 实际上没有办法将它与类似的<a>元素区分开(除了比较内容 - 我建议反对)。

如果您知道只有一个<a>元素 - 您可以获得href值并随意使用它(我将其打印到控制台,作为示例):

var aEl = document.getElementsByTagName('a');
console.log(aEl[0].href);

请注意getElementsByTagName返回一个元素数组(或者更确切地说是一个NodeList - 但是为了这个目的我们将其留下来)并且它在Opera和Safari(IIRC)中的支持是不确定的。

或者(最好) - 如果可以,请在<a>元素中添加ID:

<a id='someID' href="JavaScript:article('40')">What is the difference between Archiving and Trashing an Article? </a>

并使用以下内容获取href

var aEl = document.getElementById('someID');
console.log(aEl.href);

修改

经过一番思考 - 如果你的意图是保持article函数返回的值,那么你应该考虑将函数调用从<a>元素中取出并在DOM之后/之后调用它渲染,保留结果,但也通过相同的<a>属性将其插入href元素。

否则你会(AFAIK)采用我在这里甚至没有提到的阴暗技术。