首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery单击函数使用元素作为变量

Jquery单击函数使用元素作为变量
EN

Stack Overflow用户
提问于 2019-08-17 18:03:19
回答 1查看 46关注 0票数 1

我正在尝试创建一个脚本,该脚本将使用一个名为"customclass“的类访问任何单击项的内部文本。请注意,这只针对一个元素。

问题是,被单击的单个元素似乎根本没有被传递。附加的正则表达式用下划线替换空格(如果有的话)。

我尝试了以下几种方法,但都没有像预期的那样起作用:

代码语言:javascript
复制
// (1)
$('a.customclass').on("click", function() {
  var inner = $(this).innerHTML.replace(/ /g, "_");
});

// (2)
$('a.customclass').on("click", function(e) {
  var inner = $(e.target).innerHTML.replace(/ /g, "_");
});

// (3)
$('a.customclass').click(function(e) {
  var inner = $(e.target).innerHTML.replace(/ /g, "_");
});

// (4)
$('a.customclass').click(function() {
  var inner = $(this).innerHTML.replace(/ /g, "_");
});

在任何情况下,控制台中都会出现以下错误:

无法读取未定义的属性“替换”。

有人能看到这个问题吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-17 18:05:27

问题在于jQuery对象没有innerHTML属性。

要实现您的需要,可以直接使用从this提供的元素对象:

代码语言:javascript
复制
$('a.customclass').on("click", function() {
  var inner = this.innerHTML.replace(/ /g, "_");
  console.log(inner);
});

或者,使用jQuery的html()方法:

代码语言:javascript
复制
$('a.customclass').on("click", function() {
  var inner = $(this).html.replace(/ /g, "_");
  console.log(inner);
});

我还建议您对jQuery文档进行快速阅读,因为只要快速浏览一下方法名称,就可以很好地了解它们的功能以及可能实现的功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57538732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档