我尝试过以下代码:
$('a.buildMenu').click(function (event) {
// Prevent normal behaviour
event.preventDefault();
// Stops it bubbling to the document
event.stopPropagation();
var link = $(this);
$(document).find('div#' + $(link).data('id'), function() {
console.log($(link).data('id'));
$('.buildMenu').removeClass('selected');
$('.menu').remove();
return false;
});
这基本上意味着如果一个id与所点击链接上的data-id
值匹配的div然后运行代码。但是find方法没有回调。我该怎么做?
由于
答案 0 :(得分:1)
你不需要等待任何事情,对吗?所以只需使用if语句:
var $elements = $('div#' + link.data('id'));
if ($elements.length > 0) {
console.log(link.data('id'));
$('.buildMenu').removeClass('selected');
$('.menu').remove();
}
答案 1 :(得分:1)
你应该做
if($(document).find('div#' + $(link).data('id')).length){
$('.buildMenu').removeClass('selected');
$('.menu').remove();
}
答案 2 :(得分:1)
您可以使用if语句 -
if ($(document).find('div#' + $(link).data('id')).length) {
console.log($(link).data('id'));
$('.buildMenu').removeClass('selected');
$('.menu').remove();
});