我是Yii框架(2.0版)的新手,我想在页面中添加一些jQuery代码:
$(document).ready(function(){
$('div').click(function(){
$(this).hide()
});
});
当我点击它时,此代码会隐藏div,我可以在视图中声明<script>
吗?
我怎样才能在jQuery中编写这段代码?
答案 0 :(得分:12)
首先建议您将($this)
更改为$(this)
&amp;试试这样的事情。
$script = <<< JS
$(document).ready(function(){
$('div').click(function(){
$(this).hide()
});
});
JS;
$this->registerJs($script, View::POS_END);
您还可以使用View::POS_HEAD
,View::POS_BEGIN
&amp; View::POS_READY
代替View::POS_END
。
答案 1 :(得分:1)
在Yii2中,jQuery和其他脚本文件默认出现在html结束标记之前的页面末尾。这有助于加快页面加载速度。
因此,如果您在页面中间编写jQuery代码,则会出现$ not defined
错误。要解决这个问题,你应该在window.onload
事件中编写jQuery代码:
window.onload=function(){
//your jQuery code here
};
答案 2 :(得分:0)
试试这个,我希望这会对你有所帮助
<?php
$this->registerJs('
$(document).ready(function(){
$(\'.classname\').hide();
});', \yii\web\View::POS_READY);
?>