我已经尝试了3天,弄清楚为什么attr()不能在Jquery中的函数内部工作。可能看起来问题已经得到解答,但它们都没有为我工作。
我正在尝试从推文按钮更改{{1}}属性以发布当前文本。
这是我的代码:
{{1}}
Jsfiddle中的示例:poly2mask
答案 0 :(得分:1)
您的问题并不代表整体情况。这不起作用的原因是因为您包含以下脚本:
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
此脚本会更改您的HTML。如果未包含脚本,则生成的按钮HTML为
<a class="twitter-share-button" href="https://twitter.com/share" data-show-count="false" data-size="large">Tweet</a>
但是,只要加载并执行此脚本,您的HTML就会变为
<a class="btn" id="b" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Ffiddle.jshell.net%2F_display%2F&ref_src=twsrc%5Etfw&tw_p=tweetbutton&url=https%3A%2F%2Ffiddle.jshell.net%2F_display%2F">
<i></i>
<span class="label" id="l">Tweet</span>
</a>
您可以看到新HTML没有类twitter-share-button
。我不确定您要使用data属性实现什么,但您需要考虑其他一些方法来实现此目的。
答案 1 :(得分:0)
$(".twitter-share-button").attr("data-text", "Hello World");
var dataObj = $(".twitter-share-button").data();
$("#change").on("click", function() {
dataObj.text = "Hello Universe";
$(".twitter-share-button").data(dataObj);
});