【问题标题】:clearing an <a> href after the page is loaded using jquery使用 jquery 加载页面后清除 <a> href
【发布时间】:2010-10-21 22:24:34
【问题描述】:

我正在尝试稍微修改一个 wordpress 模板。目前一个函数返回一个文章的链接,我正在尝试替换这个链接,而不是将你转移到另一个页面,它只是将文章带入并加载它。

为此,我需要在页面加载后重置锚点 href。

这是我感兴趣的代码:

<?php the_content( __('<img class="readmore" src="/images/readmore.png" title="poo"></img>', 'twentyten' ) ); ?>

返回:

<a class="more-link" href="http://henryprescott.com/undgraddissintro/#more-12">
<img title="poo" src="/images/readmore.png" class="readmore"></img></a>

但是我想修改它,以便运行脚本而不是带您进入新页面。

因此我尝试运行它:

$(document).ready(function(){  

  $("a.more-link").css("href", "#");
  alert($("a.more-link").css("href"));
}

它什么都不做,并且警报返回“未定义”。

我哪里出错了,谢谢!

【问题讨论】:

  • CSS 与此无关。您正在尝试操作 DOM 节点,这无法通过样式实现。看看 jQuery 的 .attr()-method.

标签: javascript jquery wordpress


【解决方案1】:

使用attr() 代替css()

css 方法用于获取或设置 CSS 属性(如 margincolorfont-size 等)。 attr 方法用于获取或设置 HTML 属性,如 hrefsrc 等。

【讨论】:

    【解决方案2】:

    您尝试使用 CSS 命令更改属性,这是错误的。

    $(document).ready(function(){  
      $("a.more-link").attr("href", "#");
      alert($("a.more-link").attr("href"));
    }
    

    【讨论】:

      【解决方案3】:

      css() 如果只是为了添加内联 css,在这种情况下尝试 attr()

      jQuery(document).ready(function(){  
      jQuery("a.more-link").attr("href", "#");
      alert(jQuery("a.more-link").attr("href"));
      return false;
      }
      

      return false 是为了避免页面重新加载。 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-04
        • 1970-01-01
        • 1970-01-01
        • 2016-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多