使用我的代码,我可以点击更改我的文字:
$('.SeeMore').click(function(){
var $this = $(this);
$this.toggleClass('SeeMore');
if($this.hasClass('SeeMore')){
$this.text('+ more');
} else {
$this.text('- less');
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="SeeMore" style="cursor:pointer">+ more</li>
&#13;
到目前为止这种方法运作良好。但因为我的页面有不同的语言版本,我想用php交换单词:
<script>
$('.SeeMore').click(function(){
var more = <?php echo $lang['MORE']; ?>
var less = <?php echo $lang['LESS']; ?>
var $this = $(this);
$this.toggleClass('SeeMore');
if($this.hasClass('SeeMore')){
$this.text(more);
} else {
$this.text(less);
}
});</script>
不幸的是现在我的代码不再工作了,我不知道为什么。
答案 0 :(得分:2)
你错过了两件事 -
1. Semi-colon at the end of the statement.
2. Double / single quotation around the PHP statement inside the jQuery.
您需要使用"
,例如: var more = "<?php echo $lang['MORE']; ?>";
答案 1 :(得分:1)
你忘记了分号和引号:
var more = "<?php echo $lang['MORE']; ?>";
var less = "<?php echo $lang['LESS']; ?>";
编写代码生成代码很难并且可能令人困惑。更好地使用一个像样的模板系统(例如Smarty)。
答案 2 :(得分:1)
您忘记了引号:
var more = "<?php echo $lang['MORE']; ?>";
var less = "<?php echo $lang['LESS']; ?>";
答案 3 :(得分:1)
使用数据属性
HTML:
<li class="SeeMore" data-less="<?php echo $lang['LESS']; ?>" data-more="<?php echo $lang['MORE']; ?>" style="cursor:pointer">+ more</li>
JS:
$('.SeeMore').click(function(){
var more = $(this).attr('data-more');
var less = $(this).attr('data-less');
var $this = $(this);
$this.toggleClass('SeeMore');
if($this.hasClass('SeeMore')){
$this.text(more);
} else {
$this.text(less);
}
});
PS:不要忘记在文档就绪声明中包装click事件
答案 4 :(得分:1)
您可以在jquery中使用以下代码使用php变量:
token = "<?php echo $_SESSION['token']; ?>"