gpt4 book ai didi

javascript - 动态查找 jquery 元素(如果存在)

转载 作者:行者123 更新时间:2023-11-28 18:47:47 24 4
gpt4 key购买 nike

我有一个函数,如果调用该函数,将更新另一个对象(如果存在)。问题是,当创建页面时,id 是未知的。

例如,这是我的代码:

$('.slides').on("slidestop", function() {
$this = $(this);
$.ajax({
url: "action.php?event=ITEM "+$this.attr("data-itemID") + " " + this.value+"&itemID="+$this.attr("data-itemID"),
type:'POST',
success: function(result){
//update brightness slider if it exists
$("#sl" + $this.attr('data-itemID')).val(15);
$("#sl" + $this.attr('data-itemID')).slider("refresh");
},
});
});

html:

 <input class='dimmerSlider' type='range' id='3' value='4' min='0' max='15' step='1' data-highlight='true' data-itemID='3'/>

错误:

Uncaught TypeError: $(...).slider is not a function

最佳答案

$("#$this.attr('data-itemID')").val(15);

我猜你想使用属性构建一个字符串

$("#" + $this.attr('data-itemID')).val(15);

或使用数据代替 attr

$("#" + $this.data('itemID')).val(15);
<小时/>

如果找不到元素,请回答您的第二个问题。

如果您使用 jQuery 选择一个元素并且它不存在,那么当您对其运行方法时,它将被忽略。如果您需要知道它不存在,则可以检查长度

var x = $(".mySelector");
if (!x.length) { //aka x.length===0
console.log("not found");
}

关于javascript - 动态查找 jquery 元素(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35007591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com