如果我有类.A和类.B并想在按钮单击之间切换,那么在jQuery中有什么好的解决方案?我还是不明白是怎么toggleClass()
运作的.
是否有内联解决方案将其置于onclick=""
事件中?
它使用toggle事件 - 不要用toggle来配置 - jQuery版本设置为EDGE
它突然停止工作并移除了我想要的单元作为触发器,因为它显然恢复了切换.
我找不到任何弃用标签等
http://api.jquery.com/category/deprecated/给出了404
如果我添加迁移模块我的jsFiddle然后工作,我在控制台中看到警告(由FrédéricHamidi发布的https://github.com/jquery/jquery-migrate/blob/master/warnings.md详细说明)
我看到Deprecate fn切换并发出24和Ticket#11786,但不是在我希望看到的地方.
我错过了什么,我在哪里找到它的替换和文档?
注意:我理解弃用的原因,我只是找不到弃用的官方文档
$('#tbl .xx').toggle(
function() {
$(this).siblings().each(function(){
var t = $(this).text();
$(this).html($('<input />',{'value' : t}));
});
},
function() {
$(this).siblings().each(function(){
var inp = $(this).find('input');
if (inp.length){
$(this).text(inp.val());
}
});
}
);
Run Code Online (Sandbox Code Playgroud)
MIGRATE中的代码:
jQuery.fn.toggle = function( fn, fn2 ) {
// Don't mess with animation or css toggles …
Run Code Online (Sandbox Code Playgroud) 所以我已经让它工作了,它显示/隐藏了 UL 的/ LI,但我不确定我在没有换出 +/- 符号的情况下做错了什么?
这是我的JS:
$(".top ul li:not(:has(li.current))").find("ul").hide().end() // Hide all other ULs
.click(function (e) {
if (this == e.target) {
$(this).children('ul').slideToggle();
}
$(this).children("li.menu-item-has-children").text(this.toggle ? "-" : "+");
return false;
});
Run Code Online (Sandbox Code Playgroud)
我有一个类设置来附加带有li:before
li 的 li ,在具有嵌套 ul 的 li 之前添加 + 符号。但我不确定我是否会以正确的方式更换标志。
这是我制作的小提琴: