【问题标题】:assigning a value to a variable with .attr使用 .attr 为变量赋值
【发布时间】:2013-02-25 17:37:04
【问题描述】:

jquery 新手,无论我多么努力地谷歌,似乎都找不到答案。

我可能完全走错了路,但这与我发现的情况一样接近,但它根本不起作用。我正在尝试获取所有带有以“/ric”开头的 href 值的锚标记,它们是本地链接,然后在开头添加缺少的域信息。

由于某种原因,它根本不允许我设置 originalHref 的值(或者看起来,在声明变量后尝试使用“alert(originalHref);”进行调试,但我没有得到任何返回)。

$('a[href^="/ric"]').each(function(){ 
       var originalHref = $(this).attr("href");
       this.href = this.href.replace(href, 'http://www.test.com' + originalHref);
    };
}); 

【问题讨论】:

  • 你为什么不做$(this).attr("href", 'http://www.test.com' + originalHref);

标签: jquery sharepoint sharepoint-2007 href attr


【解决方案1】:
$(this).attr('href','http://www.test.com'+$(this).attr('href'));

语法;

$(selector).attr(attribute,value);

会有用的

【讨论】:

    【解决方案2】:

    这就是你要找的:

    $(this).attr('href','http://www.test.com'+originalHerf);
    

    您可以改为删除一行:

    $(this).attr('href','http://www.test.com'+$(this).attr('href'));
    

    【讨论】:

    • 感谢所有快速响应,我已更改脚本以删除变量行并使用您在此处建议的第二行,但它仍然只是尝试将这些链接作为本地链接打开,这当然可以不起作用...关于为什么它可能不起作用的任何其他想法?
    • @user2153957 这很奇怪......试试这个看看 url 是否是一个有效的 url:console.log('http://www.test.com'+$('a[href^="/ric"]').attr('href');
    【解决方案3】:
    $('a[href^="/ric"]').each(function(){ 
        $(this).attr('href', 'http://www.test.com' + $(this).attr('href'));
    });
    

    【讨论】:

      【解决方案4】:

      试试这个选项:

      $('a[href^="/ric"]').attr( "href", function(){ 
         return ('http://www.test.com' + $(this).attr('href'));
      });
      

      Sample

      【讨论】:

      • 我已经尝试了这一行,当点击链接时,它仍然试图在本地打开链接,而不是添加“test.com”来正确打开它们。关于这里可能有什么问题的任何其他想法?
      • 你的本地网址是什么..?您是否尝试过记录:'http://www.test.com' + $('a[href^="/ric"]').attr('href') 到控制台以查看会发生什么...?
      • 我正在使用 windows sharepoint 从我的公司内部网络访问内容,但是该内容上的所有链接都是本地的,所以当我在 sharepoint 中单击它们时,它们正试图以 我需要它们打开为 rcbpt.bank.com/ric...'>
      • @user2153957 :尝试使用$('a[href*="/ric"]') 而不是$('a[href^="/ric"]'),看看是否有任何变化..
      • 没有变化,当我点击内容中的链接时仍然有错误的域
      【解决方案5】:

      href ^= 的 jQuery 选择器只会查找 URL 中以 /ric 开头的元素。

      如果您的网址是 www.google.com/ric,它与选择器不匹配,并且不会使用上面提供的 jQuery 更改 href 属性。

      请注意,给出的所有答案都基于以 /ric 开头的 href

      如果您检查页面源并找到您尝试更改的锚标记并检查 href 属性。它是否有相对 ('/ric') 或绝对 ('https://appservicesstd.wss.bank.com/ric') URL?

      【讨论】:

        【解决方案6】:
        $(this).attr('href','http://www.test.com',$(this).attr('href'));
        

        这是我的测试代码:

        <script type="text/javascript">
                $(function (){ 
                    $('button').click(function(){
                       var text = $('.qwerty').html();
                    });
                $(".qwerty1").attr('dir',$('.qwerty').html());
                });
        
                </script>
                <div class="qwerty">123</div>
                <div class="qwerty1" dir=""></div>
        

        希望对你有所帮助。

        【讨论】:

          猜你喜欢
          • 2020-07-28
          • 2015-01-11
          • 2018-04-03
          • 1970-01-01
          • 1970-01-01
          • 2018-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多