【问题标题】:Jquery change text to URL with one clickJquery一键将文本更改为URL
【发布时间】:2013-07-25 09:14:33
【问题描述】:

我现在正在使用 Google 协作平台。我在我的页面中添加了一个 HTML 框并添加了我的脚本。脚本应该做的是,当我单击文本时,该文本会更改其显示文本并为其添加 href。文本位于“td”表中,类为“hey”。我的第一个功能是这个

 function showitnow() {
 var div_data = "<br> <br> <a href='https://www.google.com'>Test</a>";
 $(".hey").html(div_data);
}

$(".hey").click(function() {
    showitnow();
});

我从这里复制了这个函数。当我单击“嘿”类的字段时,它只会将我的文本更改为“测试”。该网站知道,“测试”是一个链接,但是 href 丢失了,所以当你点击它时什么也没有发生。之后,我尝试使用论坛上提到的 setAttribute 和 setProperties 函数,但它们也不起作用。我注意到,在某些版本的 Jquery 上,当我单击文本时,Firebug 控制台会显示“拒绝 .setAttribute”。

我的问题是,这些功能是否在 Google 协作平台上被禁止,或者是否有其他方法可以添加链接并更改显示文本?

我使用的是 Jquery 1.10.1 版。

【问题讨论】:

  • 点击时有没有看到控制台日志出现了什么错误?
  • 就像我说的,如果我想更改属性,控制台会显示“拒绝 .setAttribute”
  • 不需要设置属性,因为你已经在 div_data 中设置了 href。我已将我的代码作为我测试过的有效答案,因此请使用它。
  • 我知道。我的意思是,我也尝试过设置属性

标签: javascript jquery html css google-sites


【解决方案1】:

试试这个

 $(".hey").click(function() {
        var div_data = "<br> <br> <a href='https://www.google.com'>Test</a>";

     $(this).append(div_data );
    });

【讨论】:

  • 感谢您的回答。我试过你的代码,但它不适用于“.each()”。如果我删除“.each()”- 部分,href 仍然是空的。 测试
  • 你得到解决方案了吗
  • test的href还是空
【解决方案2】:

试试这个:

$(document).ready(function(){
    $(".hey").click(function() {
        var div_data = '<br> <br> <a href="https://www.google.com" target="_blank">Test</a>';
         $(".hey").html(div_data);
    });
})  

JSFIDDLE DEMO

【讨论】:

  • href 仍然为空。我忘记发布此错误,即“无法在 ES5/3 模式下模拟复杂事件处理程序 div onsubmit="t"”。我用谷歌搜索了这个错误。我发现的唯一一件事是 Jquery 版本很重要,但我已经尝试过不同版本的 Jquery
  • 我已将 jsfiddle 演示添加到我的答案中,它在那里工作。你可以看到那个演示。
  • 这正是我想要的。我已经在 Google 协作平台上尝试过您的代码,但它只会将显示文本更改为“测试”,然后 Firebug 说它就像这样“Test
  • 您可以尝试将 html 包装在 $() 中,以便将其视为片段而不是字符串?像这样:$('&lt;br&gt;&lt;br&gt;&lt;a href="https://www.google.com"&gt;Test&lt;/a&gt;')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多