如何基于链接按ID获取元素';s href与jQuery?
我试图根据单击链接的如何基于链接按ID获取元素';s href与jQuery?,jquery,dom,href,fadein,Jquery,Dom,Href,Fadein,我试图根据单击链接的href属性淡入隐藏元素,但我不知道如何淡入,我尝试了以下方法: 但是由于某种原因,$(textBlock)只返回一个空对象 提前谢谢 试试这个: $('a[href="ABC"]').fadeIn(); 选择器文档可在以下位置找到: 对于属性: =完全相等 !=不平等 ^=是以开头的 $=以结尾 *=包含 您当前使用的代码的问题非常简单。用于查找要淡出的div的选择器为: $(this).find('div') 但是在该上下文中,这个指的是被点击的
href
属性淡入隐藏元素,但我不知道如何淡入,我尝试了以下方法:
但是由于某种原因,$(textBlock)
只返回一个空对象
提前谢谢 试试这个:
$('a[href="ABC"]').fadeIn();
选择器文档可在以下位置找到:
对于属性:
=完全相等
!=不平等
^=是以开头的
$=以结尾
*=包含
您当前使用的代码的问题非常简单。用于查找要淡出的div的选择器为:
$(this).find('div')
但是在该上下文中,这个
指的是被点击的元素。只需将该选择器更改为:
$('#text-blocks').find('div')
它应该会起作用
编辑:
关于包装器函数,我还注意到了一些其他的东西。您错过了结尾的左括号,因此您的代码都没有运行过。或者,为了让它在文档上运行,您可以将jQuery(或
$
)前置到代码的最开头。您使用的是此
(指单击的锚定)而不是预期的元素来查找文本块。尝试改用#文本块>div
选择器:
// Fade out any visible text blocks
$('#text-blocks > div').fadeOut('normal', function() {
// Fade in selected text block
$(textBlock).fadeIn();
});
这是它的一部分
编辑:
此外,您可能希望避免淡入淡出已选择的元素,在这种情况下,请使用.not()
:
这是此版本的一个示例。问题是您忘记在jQuery ready调用中添加第一个
$
。这是您需要的JavaScript:
$(function(){
$('#links a').on('click', function(e) {
e.preventDefault();
// Fade out any visible text blocks
$('#text-blocks div').fadeOut();
// Fade in required one
$($(this).attr('href')).fadeIn();
});
});
jsIDLE是。不是真的尝试淡入链接,而是淡入div,例如,如果我用href
#text1
单击链接,我想淡入idtext1
的div。由于href已经包含了#
符号,我想我可以将它传递给jQuery函数来选择它:(很好,解决了这个问题,谢谢,现在我必须弄清楚为什么div有时会快速消失两次,有什么想法吗?我更新了你的小提琴,以更好地反映我实际使用它的方式
$(function(){
$('#links a').on('click', function(e) {
e.preventDefault();
// Fade out any visible text blocks
$('#text-blocks div').fadeOut();
// Fade in required one
$($(this).attr('href')).fadeIn();
});
});