此语句将查找div #content-company
并在找到时加载相应的数据。不过我的问题是:
在这种情况下,我必须使用一个我无法重命名的滑块与div相同,所以在这个例子中我有一个额外的名为.slides
我通常会这样做:
// JavaScript Document
$(function(){
$('.tileSB').click(function(e){
e.preventDefault();
var url = $(this).attr('href') + ' #' + $(this).attr('data-target');
$('#content-company, .slides').load(url);
});
});
但是,这只是覆盖了与div和slide类相关联的内容,因此您可以同时使用相同的名称,而我不希望这样。
有人可以解释我是如何做到这一点的吗?:
// JavaScript Document
$(function(){
$('.tileSB').click(function(e){
e.preventDefault();
var url = $(this).attr('href') + ' #' + $(this).attr('data-target');
$('#content-company OR .slides').load(url);
});
});
提前致谢
答案 0 :(得分:5)
您可以检查#content-company
元素是否存在。如果不是,您可以使用.slides
代替。像这样:
$('.tileSB').click(function(e){
e.preventDefault();
var url = $(this).attr('href') + ' #' + $(this).attr('data-target');
var $target = $('#content-company');
if (!$target.length)
$target = $('.slides');
$target.load(url);
});
答案 1 :(得分:2)
您可以使用? :
(三元运算符)。以下代码将使用#content-company
,如果它存在,则使用.slides
。
var $selector = $('#content-company').length ? $('#content-company') : $('.slides');
$selector.load(url);
答案 2 :(得分:1)
你可以简单地使用它:
$("#content-company, .slides").first()
请注意 first 元素是根据HTML顺序确定的。如果找到多个匹配元素,则返回HTML顺序中的第一个。