【问题标题】:Can I use 'this' to take text from a button?我可以使用“this”从按钮中获取文本吗?
【发布时间】:2020-06-13 23:36:18
【问题描述】:

我正在尝试构建一个从 HTML 按钮获取内部文本并将其映射到变量的函数。下面的函数正在工作,有没有办法将 interText 从它激活的按钮映射到 dir var?

当我 console.log ~ this ~ 我从我的电脑上得到网站的路径。

function otterSummon() {
    removeImages();
    var imgCount = 79;
    var dir = 'otters/';
    var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
    var otterImage = document.createElement('img');
    otterImage.src = dir + images[randomCount];
    otterImage.setAttribute("id", "memeImage");
    var container = document.getElementById("containerMain");
    container.appendChild(otterImage);
    console.log(this)
    console.log(otterImage);
}

【问题讨论】:

  • 谁调用函数 otterSummon ?
  • 第二。如果这是在网页上,您可以包含整个页面吗?
  • 如果otterSummon() 是事件处理程序,this 将指向触发事件的元素。尝试console.dir(this) 以获得更可读的输出。 stackoverflow.com/questions/17665489/…
  • @AksJacoves 一个 html 按钮。还有另外两个相同的功能,但从不同的文件夹调用图像。如果我能让按钮抛出它们的内部文本,我可以重命名文件夹以匹配内部文本,并且只为所有三个按钮提供一个功能,这就是梦想。
  • @EricMPastore 整个页面本身就是 150+ 行代码,所以要完成很多。它在 Github 上虽然 @github.com/AirRivas/Alexis

标签: javascript button methods this


【解决方案1】:

试着把这个作为参数放在按钮上的函数调用中,这样就很容易访问它的属性了。

function otterSummon(button) {
  console.log(button.textContent)
}
<button onclick="otterSummon(this)">CLICK-ME</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 2013-02-12
    • 2018-05-16
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多