1

澄清:

我有一个回声语句如下:

 $striptitle .= ' - <a onclick="getnewurl();" href="'.SGLink::album($aid). '">'. $namek .'</a></h1>
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-via="jb_thehot" data-text="Pictures of '. $hashfinal .'" teens>Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>';

echo $striptitle ;

onclick 这样做:

<script type="text/javascript">
function getnewurl()
{
var url = document.URL;
alert( url );
}
</script>

我需要的基本上是添加我的锚标签 data-url="INSERT_VAR_URL_HERE"

那可能吗?

如果这还不够清楚,请告诉我谢谢!

编辑:澄清一下,功能中的警报仅用于测试。我需要的是能够在同一个 $striptitle 变量中使用函数中获得的变量。

我的问题是 url 随 AJAX 变化,而 twitter 按钮的 data-url 没有更新。我希望能够通过每次点击它来获取新的网址。如果还有其他方法可以做到这一点,我愿意接受建议!

4

2 回答 2

0

为什么不将其作为参数传递?

$striptitle .= " - <a onclick=\"getnewurl('URL-HERE');\"...>";

然后在你的脚本中:

<script>
    function getnewurl(url) {
        alert(url);
    }
</script>
于 2012-06-08T05:04:29.460 回答
0

以@Kolink 的回答为基础,一种不在两个地方重复 url 的方法可以将链接生成为:

<a onclick="getnewurl(this);" href="...">

那么你的 JS 可能看起来像:

function getnewurl(link) {
    link.setAttribute('data-url', location.href);
}

EDIT显然jQuery.data没有正确更新 dom,但 setAttribute 确实

于 2012-06-08T05:07:23.890 回答