我正在尝试访问HTML href
元素的<a>
属性,但不知何故该值会自动更改。
以下是我的代码:
function getTDElement(anchorString)
{
var td = document.createElement('td');
// i think this is not a good way to add child to html element but
// i have to do it for some unavoidable reason
td.innerHTML = anchorString;
var anchor = td.firstChild;
// following line prints url like
// http://localhost/myservlet?myParam=foobar
console.log(anchor.href);
return td;
}
// im passing only /myservlet?myParam=foobar in following line
getTDElement("<a href=/myservlet?myParam=foobar>display</a>");
我无法理解元素的href属性为何以及如何自动更改。
有人可以就这个问题说清楚吗?
答案 0 :(得分:3)
link元素上的href
属性是一个特殊属性,而不是一个简单的字符串。它可能会将您的href值更改为它认为解析为的绝对URL。您可以使用getAttribute
获取未更改的值。
console.log(anchor.getAttribute('href'));