javascript - 触发 onclick 时如何从 Javascript 中的元素检索信息

标签 javascript jquery this

假设我的 DOM 中有一个链接(但任何元素都会被接受),并调用 Javascript 函数:

<a href="google.com" onclick="myFunction()">

,以及一个 Jquery 函数来替换对该链接的点击并检索其 href 属性(抱歉,我正在使用 Jquery,但请随意用普通 JS 回答):

function myFunction() {
    $(this).click(function() { return false; }); // Cancel normal behavior.
    console.log($(this).attr("href"));
}

这实际上是行不通的。通常,我们需要指向元素的IDClass来获取其信息; 但是如果我们无法设置 ID或类或其他任何东西,而只是处理页面中的一些链接,如何直接检索它们的信息

本主题的标题故意笼统,因为该方法应该适用于任何 HTML 元素。

最佳答案

是的,你是对的,使用 id 或 css 选择器你可以做到。但还有另一种方法。

只需在调用函数时传递 this 即可访问元素的所有属性,如下所示:

<a href="google.com"  style="background-color: yellow" onclick="myFunction(this, event)"> click me !!!! <a>

然后您可以访问如下所有信息:

 function myFunction(element, event) {
    event.preventDefault(); // event object can be passed
    element.style.backgroundColor = "red" // attribute can be accessed
    console.log(element.attributes["data-name"])

}

关于javascript - 触发 onclick 时如何从 Javascript 中的元素检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58076430/

相关文章:

javascript - 使用 CSS 类或渲染状态更改来提高效率?

html - 如何使用 css/js/anything 使 div 中的特定区域可点击

javascript - facebook connect弹窗是怎么设计的?我

javascript - 使用 jQuery/AJAX 选择框更改内容

javascript - 在对象中使用 this 时出现 TypeError

c# - 何时使用 this.method()?

javascript - 'this' 关键字在 map() 和 call() 中如何工作?

javascript - 我如何在java脚本中找到一个句子中单词的出现次数

javascript - 如何使用 browserify 捆绑多个 javascript 库?

javascript - 在 Iframe 内加载脚本标签