如何基于链接按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
单击链接,我想淡入id
text1
的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(); 

    });        
});​