javascript - 获取 <a> 链接的值?

标签 javascript css html

我在从链接中提取值时遇到问题。这是一个 CSS 格式的页面,我真的更喜欢使用 <a><button> .

<button value="1" onclick="showDetails(this.value)">This works</button>
<a value="2" onclick="showDetails(this.value)">This doesn't work</a>

};
        xmlhttp.open("GET","getdetails.php?q="+str,true);
        xmlhttp.send();

如何获取 <a> 的值当它被点击并且没有让它去某个地方时?

最佳答案

仅选择几个元素,例如 <input> s,<textarea> s,和<button>可以有value属性:

console.log(
  document.querySelector('a').value
);
<a value="val">a</a>

如果您必须使用value属性,使用getAttribute方法而不是点符号:

console.log(
  document.querySelector('a').getAttribute('value')
);
<a value="val">a</a>

另一种选择是使用数据属性,这比 value=" 更合适。使用 <a> 时:

console.log(
  document.querySelector('a').dataset.value
);
<a data-value="val">a</a>

(如果可能的话,还要确保使用 Javascript 正确附加事件处理程序 - 内联处理程序通常被认为是非常糟糕的做法 - 尝试使用 addEventListener )

使用addEventListener ,选择您的a ,并调用addEventListener在上面。例如,如果您的<a>有一个 iddetails :

const details = document.querySelector('#details');
details.addEventListener('click', () => {
  showDetails(details.dataset.value);
});

function showDetails(str) {
  console.log('showing details for ' + str);
}
<a id="details" data-value="thevalue">click for details</a>

关于javascript - 获取 <a> 链接的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52866056/

相关文章:

html - 第一个和最后一个 flexbox 框的边距

javascript - 使用 Javascript AngularJS 显示从当天起接下来的 365 天

javascript - addEventListener 不会附加到元素

javascript - Safari 零高度 SVG 路径不触发鼠标事件

javascript - 有效的 HTML : ul, p, 'a' 元素内的 div

angularjs - 如何使用 Bootstrap 水平定位分页工具栏的元素?

javascript - 做一个粘性侧边栏?

javascript - Deobfuscate JS 混淆脚本用于在服务器端执行它

javascript - 切换开关按钮的问题

html - 在元素之间添加水平线