Javascript 尝试在更改select选项时用jQuery替换HTML文本
我有一个类,我需要通过HTMLJavascript 尝试在更改select选项时用jQuery替换HTML文本,javascript,jquery,Javascript,Jquery,我有一个类,我需要通过HTML选择和选项替换该类的内容。奇怪的是,用来替换内容的jQuery代码只在第一次尝试时起作用。如果我尝试选择不同的选项,它将不起作用 这是我的密码: $(“#selectTable1.charts provisi”)。关于('change',函数(e){ var tableName=$('#selectTable1.charts provinsi').find(“:selected”).text(); $(#sourceTable1.table name”).repl
选择和选项替换该类的内容。奇怪的是,用来替换内容的jQuery
代码只在第一次尝试时起作用。如果我尝试选择不同的选项
,它将不起作用
这是我的密码:
$(“#selectTable1.charts provisi”)。关于('change',函数(e){
var tableName=$('#selectTable1.charts provinsi').find(“:selected”).text();
$(#sourceTable1.table name”).replace为(tableName);
e、 预防默认值();
});代码>
表1
新加坡
印度尼西亚
马来西亚
菲律宾
表1新加坡
2010
2011
2012
2013
2014
2015
(SG)第1行
40355
39544
30280
37123
39129
41234
(SG)第2行
32760
37700
39000
35023
39234
37230
(SG)第3行
37326
37386
38000
37504
38120
39102
当您使用replaceWith
时,它正在替换实际的元素,因此它第一次工作时,但下一次它找不到它,因为它已被替换。您希望替换元素的内容,而不是元素本身。将replaceWith
更改为html
,它将工作:
$(“#selectTable1.charts provisi”)。关于('change',函数(e){
var tableName=$('#selectTable1.charts provinsi').find(“:selected”).text();
$(“#sourceTable1.table name”).html(tableName);
e、 预防默认值();
});代码>
表1
新加坡
印度尼西亚
马来西亚
菲律宾
表1新加坡
2010
2011
2012
2013
2014
2015
(SG)第1行
40355
39544
30280
37123
39129
41234
(SG)第2行
32760
37700
39000
35023
39234
37230
(SG)第3行
37326
37386
38000
37504
38120
39102
谢谢,这似乎有效。不过很奇怪。.replaceWith()
和.html()
之间有什么区别?为什么前者只起作用一次,而后者总是起作用?text()
也会起作用。text()
和html()
都将替换内容html()
替换整个html内容,而text()
仅替换html标记之间的文本。在您的例子中,没有HTML标记,而且里面只有文本,所以text()
和HTML()
都会这样做。但是,您在问题中没有使用text()
,而是使用了replaceWith()
,这就是问题所在。