0

我正在尝试访问hrefHTML<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 属性为什么以及如何自动更改。

任何人都可以对这个问题有所了解吗?

4

1 回答 1

3

链接元素上的href属性是一个特殊属性,而不是简单的字符串。它可能会将您的 href 值更改为它认为可以解析的绝对 URL。您可以使用 获得未更改的值getAttribute

console.log(anchor.getAttribute('href'));
于 2012-09-13T13:37:39.577 回答