如何使用 jQuery 更改动态创建的按钮 <span> 中的文本?

格林

我已经查看了如何使用 jQuery 更改 <span> 中的文本?到达我所在的位置。但是,这不包括动态创建的按钮。

我正在动态创建包含标签的按钮。

$("<button type='button' id='" + this.patExeId 
                + "' name='exerciseMachine' class='btn exeBtn btn-large col-lg-2 col-md-2 col-sm-2 col-3 m-1 p-3' "
                + "value='" + this.exeName + "'>" + this.exeName + " <span class='label label-light label-as-badge'>0</span></button>").appendTo($("#allExercises"));

在此处输入图像描述

三个“this.patExeId”值是

  • OA==
  • 镁==
  • 分子量==

我想在练习集完成后更新标签。我正在使用单击按钮时触发的此测试代码:

$('#'+$(this).attr('id')+ ' span').html('3');

这会触发控制台日志中显示的错误:

jquery.min.js:2 Uncaught Error: Syntax error, unrecognized expression: #OA== span
迭戈·德维塔

因为在您的情况下,您正在制作一个选择器,#id span但您用来获取 id 的元素是这样的this,因此您可以使其更简单,并使用find()

 $(this).find('span').html('3');

但是为了更好地解决您的第一个问题,您使用了一个 id 包含特殊字符的选择器。=css 中具有特殊含义,因此如果您需要将其按字面意思包含,则需要对其进行转义。举一个非常简单的例子来说明,如果你有一个带有 id 的元素,#0==你应该使用下面的选择器:

$('#O\\=\\=')

为了表明我的观点,这将是您问题的替代解决方案:

$('#' + $(this).attr('id').replace(/=/g, '\\=') + ' span').html('3');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 vue 更改动态创建的按钮上的文本

jQuery更改我的<span>中的文本

使用jQuery更改动态创建的输入字段的值

如何更改动态创建的文本框的位置?

jQuery:如何更改列表中的span属性

如果条件满足 jquery,则更改动态创建的按钮样式

在 Span 中,如何更改文本的颜色

如何使用jQuery更改<span>标签</ span>之间的值?

如何使用JavaScript更改span元素的文本?

如何使用jquery使用in span标签获取文本?

如何在jQuery中更改按钮的文本?

导航li通过jquery在文本周围创建<span> </ span>

如何使用jQuery修改动态创建的无序列表

如何使用jQuery隐藏“ span”(如果文本为“ 0”)?

如何使用jquery获取span元素后的文本

如何在JavaScript中更改span元素的文本

如何在CSS媒体查询中更改<span>文本

更改动态出现的链接jQuery的链接文本?

如何使用jquery动态构建包含多个<span>的.text节点

如何使用jQuery更改按钮的文本?

单击按钮时更改动态创建的文本框的值 C#

在动态生成的<span>中调用jquery模态

如何使用jquery检测“:”之前的单词并包装在“ span”中?

如何使用选定的li列表项的文本更改下拉菜单中按钮的文本-jQuery

如何通过 jQuery 从 span 中获取价值?

使用jQuery更改动态加载图像的src

如何通过选择 3 个 div 并双击以使用 jquery 在第三个 div 上更改颜色来更改动态创建的 div 上的颜色?

Javascript & jquery | 我想获取用户单击的按钮外的 <span> 标签中的文本

使用jquery获取在span元素之后的文本,不包括span之前的文本