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