anchor元素的href属性自动更改

时间:2012-09-13 13:29:06

标签: javascript html tags anchor

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

有人可以就这个问题说清楚吗?

1 个答案:

答案 0 :(得分:3)

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

console.log(anchor.getAttribute('href'));