jquery切换“变量”div
我有来自DB的结果页面,在每一行我都有显示/隐藏按钮,该按钮应该显示/隐藏带有$title的容器 我尝试使用jquery,但它不起作用:jquery切换“变量”div,jquery,variables,toggle,Jquery,Variables,Toggle,我有来自DB的结果页面,在每一行我都有显示/隐藏按钮,该按钮应该显示/隐藏带有$title的容器 我尝试使用jquery,但它不起作用: <div class="container"> <div class="show_hide_button_<? echo $article_id_tmp; ?>"><a href="#">show/hide</a></div> <div class="show_hide_c
<div class="container">
<div class="show_hide_button_<? echo $article_id_tmp; ?>"><a href="#">show/hide</a></div>
<div class="show_hide_container_<? echo $article_id_tmp; ?>">
</div>
</div>
<script type="text/javascript">
var div_id = '$article_id_tmp';
div_id_b+='.show_hide_button_'+ 'div_id';
div_id_c+='.show_hide_container_'+ 'div_id';
$(function(){
$('div_id_b').click(function(){
$('div_id_c').toggle();
});
});
谢谢JavaScript代码需要正确输出PHP变量,正如您在HTML中所做的那样。所以你需要改变:
var div_id = '$article_id_tmp';
到
最后,jQuery选择器不需要引号,因为它们已经是变量了。现有代码将查找一个名为div_id_b的元素,该元素不存在
正确的选择器应为$div\u id\b。单击。。。和$div_id_c.toggle JavaScript代码需要正确输出PHP变量,正如您在HTML中所做的那样。所以你需要改变:
var div_id = '$article_id_tmp';
到
最后,jQuery选择器不需要引号,因为它们已经是变量了。现有代码将查找一个名为div_id_b的元素,该元素不存在
正确的选择器应为$div\u id\b。单击。。。和$div_id_c.toggle 您的变量是变量,而不是字符串,因此您不应该将它们包含在空格中:
var div_id = '$article_id_tmp';
div_id_b+='.show_hide_button_'+ 'div_id';
div_id_c+='.show_hide_container_'+ 'div_id';
$(function(){
$(div_id_b).click(function(){
$(div_id_c).toggle();
});
});
此外,您需要在JS中回显$article_id_tmp:
var div_id = '<?php echo $article_id_tmp ?>';
div_id_b+='.show_hide_button_'+ 'div_id';
div_id_c+='.show_hide_container_'+ 'div_id';
$(function(){
$(div_id_b).click(function(){
$(div_id_c).toggle();
});
});
当然,您可以删除容器类,只需使用$this.next.toggle即可您的变量是变量,而不是字符串,因此不应将它们括在空格中:
var div_id = '$article_id_tmp';
div_id_b+='.show_hide_button_'+ 'div_id';
div_id_c+='.show_hide_container_'+ 'div_id';
$(function(){
$(div_id_b).click(function(){
$(div_id_c).toggle();
});
});
此外,您需要在JS中回显$article_id_tmp:
var div_id = '<?php echo $article_id_tmp ?>';
div_id_b+='.show_hide_button_'+ 'div_id';
div_id_c+='.show_hide_container_'+ 'div_id';
$(function(){
$(div_id_b).click(function(){
$(div_id_c).toggle();
});
});
当然,您可以删除容器类,只需使用$this.next.toggle,对我来说,似乎您需要编写
var div_id = '<?php echo $article_id_tmp; ?>';
所以你实际上是在用正确的线喂食。否则,div\u id将始终是字符串“$article\u id\u tmp”对我来说,看起来您必须编写
var div_id = '<?php echo $article_id_tmp; ?>';
所以你实际上是在用正确的线喂食。否则div\u id将始终是字符串“$article\u id\u tmp”也许您需要简化标记。使用一些类来标记“显示/隐藏”按钮,使用一些类来标记内容容器。脚本将非常小且易于理解:
$('.container .show_hide_button a').click(function() {
$(this).parent().siblings('.show_hide_container').toggle();
});
现场演示:也许您需要简化标记。使用一些类来标记“显示/隐藏”按钮,使用一些类来标记内容容器。脚本将非常小且易于理解:
$('.container .show_hide_button a').click(function() {
$(this).parent().siblings('.show_hide_container').toggle();
});
现场演示: