Javascript Jquery:每个更改的操作
继续从: 我目前正在使用下面的捕获滑块的ID并更改#log的内容。问题是只捕获第一个滑块。我需要在任何滑块更改时执行此操作 我已经尝试在我所有的滑块上使用price的ID,但是这不起作用Javascript Jquery:每个更改的操作,javascript,jquery,Javascript,Jquery,继续从: 我目前正在使用下面的捕获滑块的ID并更改#log的内容。问题是只捕获第一个滑块。我需要在任何滑块更改时执行此操作 我已经尝试在我所有的滑块上使用price的ID,但是这不起作用 $('#price').each(function(index,value){ $(this).bind('slide', function(){ $("#log").prepend('<p>Changed</p>') }); }); $('#price
$('#price').each(function(index,value){
$(this).bind('slide', function(){
$("#log").prepend('<p>Changed</p>')
});
});
$('#price')。每个(函数(索引、值){
$(this.bind('slide',function()){
$(“#log”).prepend(“已更改””)
});
});
$(“#price”)
是id,页面包含一个重复id。您需要使用class这不起作用的原因是JavaScript符合HTML规范,并且HTML规范声明
您不允许有两个id=“price”
的元素。因此,JavaScript在找到第一个匹配项后将停止搜索。您的.each()
循环将只循环一次,而不管在第一次循环之后有多少#price
元素
要解决此问题,请改用类。例如:
<div class="price">...</div>
<div class="price">...</div>
<div class="price">...</div>
您还需要将
#log
元素更改为使用类。在多个元素上使用相同的ID是个坏主意。改用类。这不仅是个坏主意,而且违反了html规范。改为使用类名。我已经在那里说过同样的话。他在一小时内发布了相同的问题。$(“#price”)
选择器将只为您提供与之匹配的第一个元素。如果需要所有元素,请使用$('[id=“price”]')
。但是不要。使用类代替PSR对另一个问题的回答。
$('.price').each(function(index,value) { ... });