Javascript jquery.on change不';t触发器

Javascript jquery.on change不';t触发器,javascript,jquery,html,Javascript,Jquery,Html,下面的代码不适用于我,尽管类似的代码也适用()。每次更改输入字段时,更改文本应替换为a值。我该怎么纠正呢 $(document).on('change','input',(function()){ var PAR=$(这个); var val=$(this.val(); 查找(“跨度”值).HMTL(VALL); }); 改变我 您的代码存在一些问题。一方面,您拼写的html错误,另一个问题是,您正在输入中查找span的value类,但它不在输入中。你可以这样写: $('.input

下面的代码不适用于我,尽管类似的代码也适用()。每次更改输入字段时,更改文本应替换为a值。我该怎么纠正呢


$(document).on('change','input',(function()){
var PAR=$(这个);
var val=$(this.val();
查找(“跨度”值).HMTL(VALL);
});

改变我


您的代码存在一些问题。一方面,您拼写的
html
错误,另一个问题是,您正在
输入中查找
span
value
类,但它不在输入中。你可以这样写:

$('.input').change(函数(){
var val=$(this.val();
$(“span.value”).html(val);
});


改变我


除了
hmtl
打字之外。您正在使用class
value
使用
.find
方法遍历/搜索
span
。不幸的是,这并不存在

您可以使用
$(“.value”).html(val)直接访问
span
,而不是遍历

首先:如上所述,在调用
.html()
方法之后,您提供的代码有一个额外的
。如上所述,您也不应该有两个具有相同ID的元素,但这不会导致您的问题

第二:这个问题是一个仔细思考DOM结构的好机会。目前,您无法从
$(this)
find()
,因为
$(this)
是触发
change
事件的输入元素。输入没有子项,因此
.find()
将永远不会返回任何内容。因为您的输入位于段落标记内,并且您的目标范围位于该父级的同级段落中,所以您必须在dom上、上、下进行一些复杂的遍历,如下所示:

$(document).on('change','input',function()){
var PAR=$(这个);
var val=$(this.val();
最接近的(p)。兄弟姐妹(“p”)。查找(“跨度。值”)。文本(VAR);
});


改变我


hmtl(val)
打字错误。您应该在浏览器控制台中看到与此相关的错误。并且您的事件处理程序函数前面有一个随机的
)。您的代码在语法上不正确。
par.find(“span.value”)
wat?
par
是一个输入,它不能包含一个span。呜呜呜!感谢mate不仅提供了有效的示例,还提供了详尽的解释。你让我高兴极了,伙计!非常感谢你!不客气!感谢你的评论-我看到了一个更好地解释自己的机会。