Javascript 具有动态内容的按钮

Javascript 具有动态内容的按钮,javascript,jquery,html,Javascript,Jquery,Html,我有带标签的按钮,标签会根据加载的主题而变化。单击时,该按钮会将新数据加载到图表中。这在跨度元素上效果很好,但当我将跨度包裹在按钮中时就不起作用了 例如: <button type = "button" class = "btn btn-default"><span id="cat1"></span></button> 数据在单击时绑定为: $("#cat1").click(function() { // do stuff }); 当我

我有带标签的按钮,标签会根据加载的主题而变化。单击时,该按钮会将新数据加载到图表中。这在跨度元素上效果很好,但当我将跨度包裹在按钮中时就不起作用了

例如:

<button type = "button" class = "btn btn-default"><span id="cat1"></span></button>
数据在单击时绑定为:

$("#cat1").click(function() {
   // do stuff
 });
当我为跨度添加按钮时,有些东西丢失了。我试着用锚来替换span,但也没用。

你试过了吗

<button type="button" class="btn btn-default" id="cat1"></button>

你试过了吗

<button type="button" class="btn btn-default" id="cat1"></button>

如何使用jQuery,您可以尝试一种更简单的表单

试试看:

$('#cat1').click(function () {
    $(this).html('something');
});
或者,如果设置的值不在事件范围内,则无法尝试:

$('#cat1').html('something');

如何使用jQuery,您可以尝试一种更简单的表单

试试看:

$('#cat1').click(function () {
    $(this).html('something');
});
或者,如果设置的值不在事件范围内,则无法尝试:

$('#cat1').html('something');

单击按钮时,可以使用以下代码更新span中的文本

$('#btnClick #cat1').text("something");
在上面我给了一个按钮的id作为btnClick

您也可以在不使用span的情况下实现该功能。为此,您需要将按钮指定为

<button id="btnClick">Button</button>

单击按钮时,可以使用以下代码更新span中的文本

$('#btnClick #cat1').text("something");
在上面我给了一个按钮的id作为btnClick

您也可以在不使用span的情况下实现该功能。为此,您需要将按钮指定为

<button id="btnClick">Button</button>

当跨距嵌套在按钮中时,每次单击该跨距时,都会触发按钮单击。但“跨度单击”不会被激发

基于您的html,看起来您正在使用引导,您可以执行以下操作

<div class="btn btn-default">
    <span id="cat1"></span> 
</div>

我有一个很好的例子


当跨距嵌套在按钮内时,每次单击该跨距时,都会触发按钮单击。但“跨度单击”不会被激发

基于您的html,看起来您正在使用引导,您可以执行以下操作

<div class="btn btn-default">
    <span id="cat1"></span> 
</div>

我有一个很好的例子


您需要span的原因是什么?为什么不把那个id移到按钮上,我同意。把ID放在按钮上似乎是最好的主意。另一个选项是使用Select和option标记。即使我在按钮中输入id,也不会发生任何事情。你在单击功能后缺少一个右键-这就是问题所在吗?很好,但不是,我应用程序中的代码没有那种拼写错误。我编辑了示例代码。您需要span的原因是什么?为什么不把那个id移到按钮上,我同意。把ID放在按钮上似乎是最好的主意。另一个选项是使用Select和option标记。即使我在按钮中输入id,也不会发生任何事情。你在单击功能后缺少一个右键-这就是问题所在吗?很好,但不是,我应用程序中的代码没有那种拼写错误。我编辑了示例代码。Rafael,有趣的语法。我需要有预先定义的内容,虽然不只是点击,所以它的设置稍早在应用程序。拉斐尔,有趣的语法。我需要有预先定义的内容,虽然不只是点击,所以它的设置在应用程序稍早一点。