Jquery 扩展div-只希望单击的div在php echo中扩展
我有一个数据库中的结果回送,我包含了jquery扩展代码来在单击标题时扩展div,但是当前当单击一个结果的标题时,所有其他回送div都会扩展 有没有人能帮我把它做成只有点击的div可以扩展的样子。谢谢你的帮助和建议 以下是脚本:Jquery 扩展div-只希望单击的div在php echo中扩展,jquery,html,echo,Jquery,Html,Echo,我有一个数据库中的结果回送,我包含了jquery扩展代码来在单击标题时扩展div,但是当前当单击一个结果的标题时,所有其他回送div都会扩展 有没有人能帮我把它做成只有点击的div可以扩展的样子。谢谢你的帮助和建议 以下是脚本: <script type="text/javascript"> $(document).ready(function(){ $(".expanderHead").click(function(){ $("#expanderContent").slid
<script type="text/javascript">
$(document).ready(function(){
$(".expanderHead").click(function(){
$("#expanderContent").slideToggle();
if ($("#expanderSign").text() == "+"){
$("#expanderSign").html("−")
}
else {
$("#expanderSign").text("+")
}
});
});
</script>
$(文档).ready(函数(){
$(“.expanderHead”)。单击(函数(){
$(“#expanderContent”).slideToggle();
如果($(“#expanderSign”).text()=“+”){
$(“#expanderSign”).html(“−")
}
否则{
$(“#expanderSign”).text(“+”)
}
});
});
这是echo声明:
echo "<table width='50%' style='border-bottom:1px solid #000000;'";
echo "<tr>";
echo "<td>";
echo "<div id='page-wrap'>";
echo "<div class='discounted-item freeshipping'>";
echo "<a href='./img/users/" . $row['category'] . "/" . $row['username'] . "/" . $row['filename'] . "' rel='lightbox'><img src=\"./img/users/" . $row['category'] . "/" . $row['username'] . "/" . $row['filename'] . "\" alt=\"\" width='15%' height='80%' /></a>";
echo "<div id='expanderHead'>";
echo "<div class='reasonbar'><div class='prod-title' style='width: 70%;'>" .$row['fname'] . "</div><div class='reason' style='width: 29%;'><b>". $row['firstname'] . " " . $row['surname'] ."</b></div></div>";
echo "<div id='expanderContent' style='display:none'><div class='reasonbar'><div class='prod-title1' style='width: 70%;'>" . $row['lname'] . "</div><div class='reason1' style='width: 29%;'>Category:<br /> ". $row['category'] . "</div></div></div>";
echo "<div class='reasonbar'><div class='prod-title2' style='width: 70%;'><a href='#' data-reveal-id='myModal".$count."'>Click here For more info</a></div><div class='reason2' style='width: 29%;'>Price: £". $row['price'] . "</div></div>";
echo "</div>";
echo "</td>";
echo "</tr>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo“可能是因为您正在扩展整个.class
,而不是单击的div
的唯一#id
关于你的评论
好的,谢谢你澄清这件事,你知道我怎样才能添加一个
将函数计数到div id名称中以使其工作
看看这是否能帮助您:
使用php的动态id
带有jquery的动态id
您可以尝试在内部使用$(this)仅查找与当前单击的元素相关的元素
$(document).ready(function(){
$(".expanderHead").click(function(){
var $exsign = $("#expanderSign");
$(this).find("#expanderContent").slideToggle();
$exsign.html($exsign.text() == '+' ? '-': '+');
// simplify your if/else into one line using ternary operator
// if $exsign.text() == "+" then use "-" else "+"
});
});
请发布生成的HTML,而不是PHP。谢谢你的回复,你能解释一下这是什么意思吗?不要发布你的PHP代码,发布PHP代码生成的内容。谢谢你的回复,这是有效的,但现在只有第一个结果div展开,有没有关于如何获得单击展开的特定div的想法?使用计数函数等等我排序?别忘了#id
是唯一的。您不能有两个元素(例如:div)#expanderSign
。另一方面,可以将一个.class
分配给多个元素。如果您回送此行echo“”
多次,可能会出现问题。好的,谢谢你解决这个问题,你知道我如何在div id名称中添加一个count函数以使其工作吗?谢谢你的回复!现在可以工作了,非常感谢!