我用很多jQuery构建了这个精心制作的页面,它基于类来隐藏和显示元素。
要想出一个主意:
<p class='lookup'>You can lookup all the values.</p>
如果用户无法执行查找,我只需执行
$('.lookup').hide() ;
在jQuery中。一切正常,一切都很好。
现在,我仅在HTML中添加一个简单的注释。但是,关于“查找”类是否可见的说明是不同的。 (基本上是一种其他方式。)
<p class='lookup'>Show me when class lookup is visible</p>
<p ????>Show me when class lookup is not visible</p>
在html / css甚至jQuery(但在现有jQuery之外)中是否有一个非常简单的解决方案或技巧,可在完成$('.lookup').hide() ;
时显示一个段落,而如果$('.lookup').show() ;
则隐藏完成了吗?
我只是很好奇,我已经在使用一个额外的类'noLookup'并将代码添加到现有的jQuery中,但是我感觉应该有一个基本的解决方法/解决方案,而我只是忽略了这一点。
答案 0 :(得分:1)
尝试使用getUserProfiles() {
this.userService.getProfiles()
.pipe(
switchMap((ps: ClientProfile[]) => {
const obs$ = ps.map(p => {
return this.userService.getUser(p.userId)
.pipe(
map(user => ({user, profile: ps}))
);
});
return forkJoin(obs$);
// I NEED TO RETURN AN OBSERVABLE HERE:
// {user: u, ...ps}
}),
tap(result => //result will be an array of {user, profile})
)
.subscribe(_ => doSomething(_))
属性选择器检查style
元素是否隐藏:
.lookup
$("#chk").on("change", function() {
var lookup = $('.lookup');
if ($(this).is(':checked')) {
lookup.show();
} else {
lookup.hide();
}
});
.no-lookup {
display: none;
}
.lookup[style*="display: none;"] ~ .no-lookup {
display: inherit;
}
答案 1 :(得分:0)
也许这个例子可以帮助您:
$(function () {
$(".lookup1, .lookup2").hide();
$(".something1, .something2").bind("click", function () {
$(".lookup1, .lookup2").hide();
if ($(this).attr("class") == "something1")
{
$(".lookup1").show();
}
else
{
$(".lookup2").show();
}
});
});
答案 2 :(得分:0)
第一个参数是执行时间,默认为400毫秒。 jQuery hide()函数的第二个参数是回调。所以你可以这样写:
$('.lookup').hide(400, $('.otherElement').show());
现在,它将在.hide完成后运行。
与show函数完全相同。
我希望这会有所帮助!