我需要jquery的小帮助。
编辑:
echo "<li> ";
echo $navi_menu->navi_name;
echo "<ul>";
和它的Jquery是,
<script type="text/javascript">
$(document).ready(function () {
$("#nav li:has(ul)").click(function (event) {
if (this == event.target) {
$(this).toggleClass('clicked').children('ul').slideToggle();
$(this).find('li:has(ul)').removeClass('clicked').find("ul").slideUp();
$(this).siblings().removeClass('clicked').find("ul").slideUp();
}
}).addClass('has_ul');
});
</script>
用于向上和向下切换...现在我在我的html中添加了一个href标签,而不是打印naviname(echo $ navi_menu-&gt; navi_name; )直接,我想要一个链接。我需要帮助来重写jquery,以便在li标签出现的地方容纳一个href ....
echo "<li> ";
echo "<a class=\"click\" href=\"display_mod.php?navi_id=".$navi_menu->navi_id."\">$navi_menu->navi_name</a>";
switch($navi_menu->navi_id) {
case 1:
echo "<ul>";
和它的jquery是,
<script type="text/javascript">
$(document).ready(function () {
$("#nav li:has(a.click):has(ul)").click(function (event) {
if (this == event.target) {
$(this).toggleClass('clicked').children('ul').slideToggle();
$(this).find('li:has(a.click):has(ul)').removeClass('clicked').find("ul").slideUp();
$(this).siblings().removeClass('clicked').find("ul").slideUp();
}
}).addClass('has_ul');
});
</script>
使用修改后的jquery来容纳href标签不起作用。
这里li标签是parent,ul是child,链继续。
(部分代码来自cssplay。)
答案 0 :(得分:1)
由于链接不是ul的父级或子级,因此您只想将其作为附加约束。只需添加另一个has()
吗?
$("#nav li:has(ul):has(a.click)").click(function (event) {
如果您的意思是现在想要定位链接本身,那么只需使用空格而不是使用has方法。
$("#nav li:has(ul) a.click").click(function (event) {
如果这不是您要找的内容,则必须编辑您的问题以澄清。
答案 1 :(得分:1)
如果您要检查$('#nav li:has(a.click)')
是否有li
作为孩子的a
类,则为click
。
答案 2 :(得分:0)
我认为这可能适合你。试一试。
$("#nav li:has(a.click, ul)").click(function (event) {
//Your other statements here.
});