gpt4 book ai didi

jquery - 自动添加文本的最佳 jQuery 方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:42 25 4
gpt4 key购买 nike

我仍在学习 jQuery 并且一直在玩一些东西作为练习。我有这个工作:

<!DOCTYPE HTML>
<html>
<head>
<title>New Site</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<ul class="accmenu">
<li><a href="#">Item 1</a><span> +</span>
<ul>
<li><a href="#">Item 1 a</a></li>
<li><a href="#">item 1 b</a></li>
</ul>
</li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a><span> +</span>
<ul>
<li><a href="#">Item 3a</a></li>
<li><a href="#">Item 3b</a></li>
<li><a href="#">item 3c</a></li>
</ul>
</li>
<li><a href="#">Item 4</a></li>
</ul>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<script type="text/javascript">

$(".accmenu li ul").hide();
$( document ).ready(function() {

$(".accmenu li").toggle(function(){
// $(".accmenu li ul").slideDown();
$(this).children("ul").slideDown();
$(this).children("span").html( " -" );
},function(){
// $(".accmenu li ul").slideUp();
$(this).children("ul").slideUp();
$(this).children("span").html( " +" );
});

});
</script>
</body>
</html>

我的问题是在我手动添加的每个 parent 的末尾:

<span> +</span>

是否有一种可行的方法来实现这一点,以及相应的 - 通过 jQuery 自动发生?没有将实际跨度写入代码?

基本上,我希望 jQuery 找到其下带有 ul 的每个 li,并在 li 中的文本末尾添加“+”或“-”,具体取决于它是否折叠。

我查看了 jQuery 追加的可能性,但我不想继续添加...基本上我希望 +/- 自动发生并在菜单向上/向下滑动时切换。

最佳答案

实际上,您可以通过向 ul 本身添加 :before 伪元素来避免检查子级 ulhttp://jsfiddle.net/tarabyte/8v9Bw/

CSS

/*hide content and disc*/
.accmenu > li {
overflow: hidden;
list-style-type: none;
}

/*moves +/- to the left of the link*/
.accmenu > li > a {
overflow: hidden;
float: left;
}

/*closed menu item*/
.accmenu > li > ul:before {
content: '+';
}

/*opened menu item*/
.accmenu > li.active > ul:before {
content: '\2013';
}

/*height animation effect !requires prefixes and modern browsers.*/
.accmenu > li > ul {
max-height: 0;
transition: max-height 0.5s ease-out;
}

.accmenu > li.active > ul {
max-height: 100px;
}

关于jquery - 自动添加文本的最佳 jQuery 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com