<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: "#google"});
});
</script>
我喜欢将#google作为变量,以便我可以根据需要更改股票代码。我试图用php回声。但是,它打破了现场推特jQuery。将字符串传递给jquery函数
谢谢!
<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: "#google"});
});
</script>
我喜欢将#google作为变量,以便我可以根据需要更改股票代码。我试图用php回声。但是,它打破了现场推特jQuery。将字符串传递给jquery函数
谢谢!
<?php
$operator = "#google";
?>
<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: <?php echo json_encode($operator)?>});
});
</script>
编辑:谢谢你的comment @icktoofay。
他是对的,我们并不需要用双引号来包装输出,它确实为我们。我刚刚更新了它。
HTML属于.html
文件,CSS属于.css
文件,JS属于.js
文件。如果你想从服务器(这里是PHP)传递额外的数据到JavaScript,你应该使用[data-*]
attributes。
无论你定义你的.tweets
元素,你应该通过你想用于operator
为自定义data-*
属性的值:
<?php
$operator = '#google';
?>
<div class="tweets" data-operator="<?php echo htmlspecialchars($operator) ?>">
...contents...
</div>
在你单独的JS文件,你可以然后在初始化控件时使用自定义服务器变量:
JS:$('.tweets').each(function() {
$(this).liveTweets({
operator: $(this).data('operator')
});
});
或者,你可以使用data-*
属性包含整个JSON对象初始化窗口小部件:
<?php
$liveTweets = array(
'operator' => '#google'
);
?>
<div class="tweets" data-live-tweets="<?php echo htmlspecialchars(json_encode($liveTweets)) ?>">
...contents...
</div>
JS:
$('.tweets').each(function() {
$(this).liveTweets($(this).data('liveTweets'));
});
此外,您可以选择基于具有相应data-*
属性的条件的元素:
$('[data-live-tweets]').each(function() {
$(this).liveTweets($(this).data('liveTweets'));
});
想要将''google''作为变量传递给'liveTweets()'对象吗?或者您想使用PHP将变量回显到'liveTweets()'对象中?你想做这个服务器端还是客户端? – 2013-04-20 22:49:49