【问题标题】:Change attribute of twitter link更改推特链接的属性
【发布时间】:2013-07-09 13:14:38
【问题描述】:

我正在尝试使用 jQuery 更改数据 URL。目前我的代码看起来像这样。

<div id="twitterButton" title="Tweet it on Twitter"><a href="https://twitter.com/share" id="tweet" class="twitter-share-button" data-url="" data-related="jasoncosta" data-lang="en" data-size="large" data-count="none">Tweet</a></div>

<script type="text/javascript">
$(document).ready(function () {
    $('#twitterButton').click(function () {
        $('#tweet').attr("data-url", "https://www.google.com/");
    });
});</script>

如您所见,我将 url-data 留空,因此我可以确定它只是在 jQuery 中设置。但是,每当我单击推文按钮时,它总是会打开带有当前页面链接的窗口。有人可以解释我如何通过 jQuery 或 javascript 将其设置为其他内容吗?

【问题讨论】:

  • 如果其中一个答案解决了您的问题,您应该考虑将其标记为“已接受”

标签: javascript jquery twitter alter data-url


【解决方案1】:

您应该使用.data() 来控制数据属性。正如 Daniele 在该答案中所说,您还必须使用 preventDefault() 停止在 a 元素上的事件传播。

$('#twitterButton').click(function (e) {
    $('#tweet').data('url',"https://www.google.com");
    e.preventDefault();
});

【讨论】:

  • 是的,这是一种可取的方法,无论如何它不能解决事件传播的问题,Daniele Montes 解决方案是正确的!
  • 谢谢你们真的很有帮助
【解决方案2】:

您必须调用 preventDefault() 方法来停止在子 a 元素上传播点击事件:

试试这个代码:

$('#twitterButton').click(function (e) {
    $('#tweet').attr("data-url", "https://www.google.com/");
    e.preventDefault();
});

好代码

D.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 2017-02-18
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    相关资源
    最近更新 更多