Javascript Can';t使用jQuery更改按钮的html
我只是想更改按钮中的html。我以前也做过,但我的jQuery版本要么有问题,要么缺少了什么。无论哪种方式,这都是非常奇怪的,因为它在应用程序的许多其他地方都可以工作 当我点击一个我触发的事件的按钮时,该事件可以正常工作,但我也在尝试更改按钮的外观,正如前面所述,它在我的应用程序中每个地方都可以工作,但在这里 这不是很多代码:Javascript Can';t使用jQuery更改按钮的html,javascript,jquery,backbone.js,backbone-views,Javascript,Jquery,Backbone.js,Backbone Views,我只是想更改按钮中的html。我以前也做过,但我的jQuery版本要么有问题,要么缺少了什么。无论哪种方式,这都是非常奇怪的,因为它在应用程序的许多其他地方都可以工作 当我点击一个我触发的事件的按钮时,该事件可以正常工作,但我也在尝试更改按钮的外观,正如前面所述,它在我的应用程序中每个地方都可以工作,但在这里 这不是很多代码: var listButton = $('#list-button'); console.log(listButton); // Shows the correct one
var listButton = $('#list-button');
console.log(listButton); // Shows the correct one, this is the button I want
listButton.html('test') // This does nothing, the appearance doesn't change
然而,当我这样做时,最奇怪的是:
var listButton = $('#list-button');
console.log(listButton.get(0));
listButton.html('test')
console.log(listButton.get(0));
这两个console.log()都显示了按钮,就好像html被更改了一样,甚至在我更改html之前。而且,可视按钮上没有任何更改。以前有没有人经历过类似的事情,我只是错过了一些非常明显的东西,还是这里有一些非常错误的东西?而且,在整个项目中,我只有一个列表按钮。
就好像在这个特定的文件中,“var listButton=$(“#list button”)”只是创建了一个“deep”副本,而没有实际连接到真正的html元素
所有这些都是在主干视图中用Javascript编写的
编辑:
这是用于包含按钮的标题的html模板
<div class="item-list-header">
<button id="select-all-button" class="item-editor-toolbar-button items-header-button">Select all</button>
<button id="export-button" class="item-editor-toolbar-button items-header-button">Export Selected</button>
<button id="refresh-button" class="item-editor-toolbar-button items-header-button">Refresh</button>
<center>
<button id="list-button" class="item-editor-toolbar-button items-header-button">
<i class="fa fa-bars" style="margin-right: 10px;"/>List
</button>
</center>
</div>
全选
导出选定的
刷新
列表
为我工作
HTML
可能是,您使用带有type=“button”
的input
标记,在这种情况下,您应该使用此标记
HTML
或
很容易修复
$(“#列表按钮”)。单击(函数(){
警报(“此按钮工作”);
$(this.html('test'))
});代码>
按钮
他的回答恰到好处。我只有一次id=“list button”
,但出于某种原因,我添加了两次包含该按钮的模板。但我看不到另一个。更改html更改了第一个,因此更改在最上面的按钮上不可见。您是如何创建按钮的?使用主干和jQuery,我只需将这段html(请参见编辑)添加到页面中,它就会显示得很好。当我按下按钮时,事件也会触发。这就是控制台的工作方式,使用outerHTML
并查看区别:console.log(listButton.get(0.outerHTML)代码>听起来页面上有两个或多个元素具有该ID。$(“[ID='list-button']”)。长度返回多少?编辑:哎呀。我没注意到你在问题中说只有一个。啊,谢谢!不知道你能做到,它返回了2。我查看了代码,发现我添加了两次模板,我必须得到第一个带有$(“#列表项”)
。不知道我为什么那样做,只是一个愚蠢的错误。
<button id='list-button' type='button'>Add</button>
$("#list-button").html('Save');
<input type='button' value='Add' id='list-button'>
$("#list-button").prop('value', 'Save');
$("#list-button").attr('value', 'Save');