Javascript 尝试在更改select选项时用jQuery替换HTML文本

Javascript 尝试在更改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

我有一个类,我需要通过HTML
选择
选项
替换该类的内容。奇怪的是,用来替换内容的
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()
,这就是问题所在。