有没有办法检查jQuery中是否存在ID $('#ID')
前:
$('#cart').append('<li id="456">My Product</li>');
在运行append()之后,我想检查我的ID $('#456')是否存在。如果它退出我想要更改文本,否则我想添加一个新的
$(document).ready(function() {
$('#RAM,#HDD').change(function() {
var product = $(this).find("option:selected").attr("product");
$.ajax({
url: 'ajax.php',
type: 'post',
data: $(this).serialize(),
dataType: 'json',
success: function(data) {
$('#cart').empty();
$.each(data, function(index, value) {
$('#cart').append('<li id="'+product+'">'+ value['price'] +'</li>');
});
}
});
});
});
答案 0 :(得分:23)
if ($('#456').length)
{
/* it exists */
}
else
{
/* it doesn't exist */
}
答案 1 :(得分:3)
您可以执行此操作以查看选择器是否存在:
jQuery.fn.exists = function(){return this.length>0;}
if ($(selector).exists()) {
// Do something
}
答案 2 :(得分:0)
嗯,我不确定你为什么要这样做,但为了做到这一点,你需要稍微重新安排你的代码。
success: function(data) {
var cart = $('#cart');
cart.empty();
$.each(data, function(index, value) {
cart.append('<li id="'+product+'">'+ value['price'] +'</li>');
});
if(cart.find('#456').length) {
cart.find('#456').text('Whatever you would like');
}
}
我'缓存'您的购物车选择器以保存DOM查找。
答案 3 :(得分:0)
function checkExists(sel) {
var status = false;
if ($(sel).length) status = true;
return status;
}
<强> Working sample 强>