getElementById神秘地返回URL

时间:2016-07-13 12:03:22

标签: javascript jquery twitter-bootstrap

我有一个函数,它将一个thumbnail路径作为一个值,等待bootstrap模式打开,然后将模态中thumbnail href的值设置为正确的路径。

但是,当我console.log element(el)时,我会收到该网页的网址 即

Element is http://localhost:8086/project/etc/etc

我错过了一些显而易见的事情或做了些蠢事吗?

  function addThumbnailPathToModal(thumbnailPath) {
      $('#my-modal').on('show.bs.modal', () => {
        const el = document.getElementById('thumbnail');
        console.log(`Element is ${el}`)
        el.setAttribute('href', thumbnailPath);
      })
    }

$('.something').on('click', '.open-modal', () => {
  const thumbnailPath = getThumbnailPathFromAttribute();
  addThumbnailPathToModal(thumbnailPath);
  $('#my-modal').modal();
});

1 个答案:

答案 0 :(得分:8)

调用模板字符串时,将调用对象的toString函数。由于历史原因,A元素return the href in such a case

记录值的最佳做法是避免将它们记录为字符串:

console.log(`Element:`, el)

如果您确实需要将它们输出到字符串,outerHTML可能是您想要的:

var str = `Element is ${el ? el.outerHTML : null}`;