我正在尝试使用jQuery更改data-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将其设置为其他东西吗?
答案 0 :(得分:4)
您应该使用.data()
来控制数据属性。正如Daniele在该答案中所述,您还必须使用preventDefault()
停止a
元素上的事件传播。
$('#twitterButton').click(function (e) {
$('#tweet').data('url',"https://www.google.com");
e.preventDefault();
});
答案 1 :(得分:3)
您必须调用 preventDefault()方法来停止点击事件在子 a 元素上的传播:
试试这段代码:
$('#twitterButton').click(function (e) {
$('#tweet').attr("data-url", "https://www.google.com/");
e.preventDefault();
});
好的代码
d