Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏定位点,但不隐藏定位点文本_Javascript_Html_Css_Dom - Fatal编程技术网

Javascript 隐藏定位点,但不隐藏定位点文本

Javascript 隐藏定位点,但不隐藏定位点文本,javascript,html,css,dom,Javascript,Html,Css,Dom,基本上,我想做与此相反的事情: 我希望能够在我的页面上有一个链接,在客户端确定的特定条件下,该链接将能够停用该链接,但仍然显示文本。有没有办法做到这一点,而不需要两个单独的元素(一个包含锚和文本,另一个仅包含文本),然后在这两个元素之间切换可见性 编辑:对不起,应该已经澄清了。我希望该链接在停用时不被设置为链接样式。将替换为通用的,然后再次返回 一个简单的替代策略是: 找到节点 在其前面添加替换的节点 删除第一个节点 -- 此代码不完整,只是给您一个想法。将替换为通用的,然后再返回 一个简单的替

基本上,我想做与此相反的事情:

我希望能够在我的页面上有一个链接,在客户端确定的特定条件下,该链接将能够停用该链接,但仍然显示文本。有没有办法做到这一点,而不需要两个单独的元素(一个包含锚和文本,另一个仅包含文本),然后在这两个元素之间切换可见性

编辑:对不起,应该已经澄清了。我希望该链接在停用时不被设置为链接样式。

替换为通用的
,然后再次返回

一个简单的替代策略是:

  • 找到节点
  • 在其前面添加替换的节点
  • 删除第一个节点
  • --

    此代码不完整,只是给您一个想法。

    替换为通用的
    ,然后再返回

    一个简单的替代策略是:

  • 找到节点
  • 在其前面添加替换的节点
  • 删除第一个节点
  • --


    这段代码并不完整,只是给你一个想法。

    简单的回答是,不。任何隐藏或不可见的元素都会隐藏它的子元素。您可能会发现在需要时简单地修改锚定标记的属性更容易

    热链接:

    <a href="#some-url-here" class="">Text here</a>
    
    
    
    非热链接

    <a class="no-link" data-url="#some-url-here">Text here</a>
    
    这里的文本
    

    您可以使用JavaScript删除
    href
    属性,存储它的值,并添加一个可以用来覆盖任何样式的类。

    简短的回答是,否。任何隐藏或不可见的元素也将隐藏其子元素。您可能会发现在需要时简单地修改锚定标记的属性更容易

    热链接:

    <a href="#some-url-here" class="">Text here</a>
    
    
    
    非热链接

    <a class="no-link" data-url="#some-url-here">Text here</a>
    
    这里的文本
    

    您可以使用JavaScript删除
    href
    属性,存储它的值,并添加一个可用于覆盖任何样式的类。

    您可以在满足条件时删除href属性。
    检查此示例。
    HTML

    当您将鼠标悬停在段落标记上时,href将被删除,但如果您从未将鼠标悬停在该标记上,则可以访问google.com,将鼠标悬停在p标记上就是示例条件。
    例子


    这将从锚标记中永久删除href。当满足另一个条件时,您必须将其添加回。

    当满足条件时,您可以删除href属性。
    检查此示例。
    HTML

    当您将鼠标悬停在段落标记上时,href将被删除,但如果您从未将鼠标悬停在该标记上,则可以访问google.com,将鼠标悬停在p标记上就是示例条件。
    例子

    这将从锚标记中永久删除href。当满足另一个条件时,您必须将其添加回去。

    对于您提出的问题,没有直接的“正确”答案,因为有太多的方法可以达到类似的效果。这个答案是我判断的最简单的方法之一,以防您需要根据条件禁用和重新启用锚定

    您可以添加一个单击处理程序,如
    .on('click.disabledLink',false)
    以停用锚定功能(防止默认值并停止传播),然后使用类对其进行样式设置,使其看起来像页面中的普通文本

    要重新启用它,只需关闭处理程序并删除添加的类

    //disable link
    $('a').on('click.disabledLink', false).addClass('disabledLink');
    //re-enable link
    $('a').off('.disabledLink').removeClass('disabledLink');
    

    对于你的问题,没有直接的“正确”答案,因为有太多的方法可以达到类似的效果。这个答案是我判断的最简单的方法之一,以防您需要根据条件禁用和重新启用锚定

    您可以添加一个单击处理程序,如
    .on('click.disabledLink',false)
    以停用锚定功能(防止默认值并停止传播),然后使用类对其进行样式设置,使其看起来像页面中的普通文本

    要重新启用它,只需关闭处理程序并删除添加的类

    //disable link
    $('a').on('click.disabledLink', false).addClass('disabledLink');
    //re-enable link
    $('a').off('.disabledLink').removeClass('disabledLink');
    

    在Firefox和WebKit浏览器中,您可以使用
    指针事件:无使元素对指针“透明”(在功能意义上,而不是视觉意义上!)。你真正点击的是下面的元素。有关演示,请参阅。

    请注意,只有启用CSS(和JS,以便切换类以恢复链接的正常行为)时,它才会起作用。IE9和IE10不支持,Opera不支持:

    在Firefox和WebKit浏览器中,您可以使用
    指针事件:无使元素对指针“透明”(在功能意义上,而不是视觉意义上!)。你真正点击的是下面的元素。有关演示,请参阅。
    请注意,只有启用CSS(和JS,以便切换类以恢复链接的正常行为)时,它才会起作用。IE9和IE10不支持,Opera不支持:

    请参阅以下CSS:

    a{
        line-height: 0; 
        font-size: 0;
        color: transparent; 
     }
    
    请参阅以下CSS:

    a{
        line-height: 0; 
        font-size: 0;
        color: transparent; 
     }
    

    移除锚,然后插入另一个元素(例如
    yourtext
    ,使用相同的
    innerHtml
    @j08691抱歉,我真的以为我昨天回答了,但我在这里没有看到,所以我一定是疯了。我试着将href设置为null并设置为“disabled”属性设置为true。两者都使链接不可链接,但其样式仍类似于链接。请移除锚定,然后插入另一个元素(例如,
    yourtext
    使用相同的
    innerHtml
    @j08691抱歉,我真的以为我昨天回答了,但我在这里没有看到,所以我一定是疯了。我尝试将href设置为null并设置为“disabled”属性设置为true。两者都使链接不可链接,但它的样式仍然类似于链接。
    指针事件:无;
    存在兼容性问题,不应在生产代码中单独使用它。我刚刚添加了它的兼容性和指向MDNCool idea的链接。不幸的是,没有IE支持,这在生产环境中是不可行的。
    pointer events:none;
    存在兼容性问题,不应在p中单独使用