Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t使用jQuery更改按钮的html_Javascript_Jquery_Backbone.js_Backbone Views - Fatal编程技术网

Javascript Can';t使用jQuery更改按钮的html

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

我只是想更改按钮中的html。我以前也做过,但我的jQuery版本要么有问题,要么缺少了什么。无论哪种方式,这都是非常奇怪的,因为它在应用程序的许多其他地方都可以工作

当我点击一个我触发的事件的按钮时,该事件可以正常工作,但我也在尝试更改按钮的外观,正如前面所述,它在我的应用程序中每个地方都可以工作,但在这里

这不是很多代码:

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');