【问题标题】:Javascript/jQuery Dynamic text to link/href repleceJavascript/jQuery 动态文本链接/href 替换
【发布时间】:2013-12-13 07:11:47
【问题描述】:

我需要在整个网站上替换并转换为 URL 后面的单词; Square-Technology 英国。我对替换站点中显示的文本以将其替换为 url 进行了一些研究。 这是代码: http://jsfiddle.net/Hgtrh/1/

但是由于某种原因它不会在我的网站上取代。这是我正在使用的 HTML。

<div class="main_testimonials">
<div class="c_box"></div>
<div class="main_content_img">
<img src="images/news/thumbs/1184901_10151885560986667_1371257993_n_t2.jpg" alt="News" class="news-category"></div>
<div class="main_bubble_box">
Thank you Square-Technology UK for my new system!!
</div>
</div>

这是一个不同的 javascipt 示例,注意 ' 和 "

echo "<script type='text/javascript'>
$(document).ready(function() {
$('body').removeClass('no-js'); $('#my-carousel-3').carousel({ itemsPerPage: 3, itemsPerTransition: 3, easing: 'swing', noOfRows: 1 }); });</script>\n";

Right 很容易地解决了这个问题。我的脚本不允许我在 PHP 的 echo 标记内使用双引号,这很明显。或者,使用我在开头发布的脚本无法使用单引号。但是,这样做的方法是创建另一个 file.js,将代码放入其中,然后使用以下内容附加它:

echo"<script type='text/javascript' src='js/test_replace.js'></script>\n";

【问题讨论】:

  • 你可以用 Javascript 做到这一点,但它没有太多意义。在服务器端执行。

标签: javascript jquery replace href


【解决方案1】:

你试过了吗?

$(document).ready(function() {
  var thePage = $("body");
  thePage.html(thePage.html().replace(/Square-Technology UK/ig, '<a href="http://somewebsite.com">Square-Technology UK</a>')); 
})

希望这会有所帮助..

【讨论】:

    【解决方案2】:

    尝试使用更具体的标识符来跟踪要替换的内容,而不是跟踪整个 DOM 来搜索要替换的内容:

    JS:

    $(function() {   
      var $siteLink = $('.site-link'),
          linkHtml = '<a href="http://somewebsite.com">Square-Technology UK</a>';
    
      $siteLink.html(linkHtml);
    });
    

    HTML:

    <span class="site-link"></span> 
    

    但是,由于您的小提琴似乎可以工作,我们只能猜测发生了什么,您能否提供有关您正在运行的 jquery 或页面布局方式的更多信息。

    这是一个小提琴:http://jsfiddle.net/Hgtrh/4/

    同样值得一提的是,就像 ikaros45 所说,这通常不是你想要用 Javascript 做的事情,这似乎更像是模板应该能够处理的事情。

    【讨论】:

    • 对,我认为可能是使用引号的方式,因为我附加的 JavaScript 内部没有使用任何双引号:echo"";标签。有什么办法可以避免这些?
    • 我完全不明白你的意思,你是指在这里找到的这些逗号吗? oxforddictionaries.com/words/inverted-commas 你说的是 PHP 代码吗?
    • 请参考我帖子中的附加说明。
    • 啊,我知道你现在在做什么了,另一种使用“字符串中的双引号就像这样的 \” 使用 \"escape\" 字符”在这里阅读更多相关信息 -> @987654323 @
    【解决方案3】:

    它适用于您的提琴手示例,但不适用于您的网站。我建议确认 JQuery 库正在按预期加载到您的网站上。

    【讨论】:

      【解决方案4】:

      所以我设法很容易地解决了这个问题。我的脚本不允许我在 PHP 的 echo 标记中使用双引号,这很明显。或者,使用我在开头发布的脚本无法使用单引号。但是,这样做的方法是创建另一个 file.js,将代码放入其中,然后使用以下内容附加它:

      echo"<script type='text/javascript' src='js/test_replace.js'></script>\n";
      

      【讨论】:

        猜你喜欢
        • 2018-03-22
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 2023-01-12
        • 2022-12-05
        • 2014-02-15
        • 1970-01-01
        • 2011-04-28
        相关资源
        最近更新 更多