繁体   English   中英

jQuery,如何选择attr href目标隐藏

[英]jquery , how do i select attr href target hide

$('a.minimize').click(function() {
$($(this).attr('href')).hide();
});

<div class="drag" id="2">

<a href="#content" class="minimize" style="display: none;">2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

我想通过设置a href =“”隐藏#content,为什么不起作用???

有什么错吗

至少对我来说,您的需求真的不清楚。 您得到的答案是正确的,因为如果您希望href属性为空,则不要使用hide。 但是,这是我感到困惑的地方:

  1. 您已经为该<a>设置了display:none ,所以这根本不会出现。 那么,用户如何单击他们无法与之交互的内容?

  2. 您想在<a>被点击后“隐藏”。 如果我不得不猜测您要么想要:

    一种。 用户单击链接后,使链接(显示2)消失。 您希望用户仅单击一次链接,然后,该链接将变为无效链接,因为它没有指向任何内容。

因此,假设我对您的用途有最模糊的了解,要使链接在点击后消失,请遵循已经给出的建议

 $('a.minimize').click(function() {
      $(this).attr('href', ''); 
 });

如果您希望链接在点击时消失,请执行以下操作:

 $('a.minimize').click(function() {
      $(this).hide(); 
 });  

还是我完全忘记了要点?

hide()不是在属性上使用的正确函数。 它用于设置DOM元素的可见性。

尝试以下方法:

$(this).attr('href', '');

.hide()是不同的。 你应该像这样。

$(this).attr('attr','value here')

$($(本).attr( 'HREF', ''));

将锚定标记事件处理程序包含在文档准备功能中。

$(function(){
    $('a.minimize').click(function() {
        $($(this).attr('href')).hide();
    });
});

好..从哪里开始..首先,如果您不显示clickable元素,那将是行不通的。 因此您必须像这样删除style =“ display:none”:

<div class="drag" id="2">

<a href="#content" class="minimize" >2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

第二。 如果您不添加脚本标签,则javascript将永远无法工作。 最后也是最重要的一点是,您不能在浏览器加载之前尝试获取元素a.minimize。 因此,您可以暂存或者在输出元素的html之后执行脚本,或者使用元素jQuery(document)的ready事件安全地执行脚本。 所以这是工作代码:

<script>

jQuery(document).ready(function(){
$('a.minimize').click(function() {

$($(this).attr('href')).hide();
});
});
</script>

<div class="drag" id="2">

<a href="#content" class="minimize" >2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

如果我对您的理解正确,那么当您点击类别为“最小化”的链接时,您想隐藏ID为“内容”的div。

这是正确的方法:

$("a.minimize").click(function() {
    $("#content").hide();
});

或者,如果您想在单击链接时使用ID为“内容”的div切换状态,请尝试以下操作:

$("a.minimize").click(function() {
    $("#content").toggle();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM