我目前正在使用以下内容来捕获滑块的 ID 并更改#log 的内容。这样做的问题是只捕获第一个滑块。我需要在更改任何滑块时执行此操作。
我尝试在所有滑块上使用价格 ID,但这不起作用。
$('#price').each(function(index,value){
$(this).bind('slide', function(){
$("#log").prepend('<p>Changed</p>')
});
});
我目前正在使用以下内容来捕获滑块的 ID 并更改#log 的内容。这样做的问题是只捕获第一个滑块。我需要在更改任何滑块时执行此操作。
我尝试在所有滑块上使用价格 ID,但这不起作用。
$('#price').each(function(index,value){
$(this).bind('slide', function(){
$("#log").prepend('<p>Changed</p>')
});
});
这不起作用的原因是因为 JavaScript 符合 HTML 规范,而 HTML 规范规定ID 属性必须是唯一的。
你不能有两个元素id="price"
。因此,JavaScript 将在找到第一个匹配项后停止搜索。.each()
无论第一个之后有多少#price
元素,您的循环只会循环一次。
要解决此问题,请改用类。例如:
<div class="price">...</div>
<div class="price">...</div>
<div class="price">...</div>
$('.price').each(function(index,value) { ... });
您还需要更改#log
元素以使用类。
$('#price')
is id, page include one duplicate id. you need use class