<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: "#google"});
});
</script>
我喜欢将#google 作为变量,以便我可以根据需要更改股票代码。我试图用 php 来回应。但是,它打破了实时推文 jquery。
谢谢!
<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: "#google"});
});
</script>
我喜欢将#google 作为变量,以便我可以根据需要更改股票代码。我试图用 php 来回应。但是,它打破了实时推文 jquery。
谢谢!
<?php
$operator = "#google";
?>
<script>
$(document).ready(function() {
$(".tweets").liveTweets({operator: <?php echo json_encode($operator)?>});
});
</script>
编辑:感谢您的评论@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'));
});