我有一个函数,如果被调用,它将更新另一个对象。问题是,当创建页面时,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:$(.).slider不是函数
发布于 2016-01-26 05:53:11
$("#$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");
}发布于 2016-01-26 05:58:31
此外,元素不一定存在,我如何检查它呢?
尝试使用属性等于Selector [name="value"],.is()
var elem = $("[id=" + $this.attr("data-itemID") + "]");
if (elem.is("*")) {
// do stuff
elem.val(15)
.slider("refresh");
}https://stackoverflow.com/questions/35007591
复制相似问题