jQuery.fn.add = function() {
var Bnumber = $(this).find(".B_Add");
if (Bnumber) {
Bcount = parseInt(Bnumber.html()) + 1;
$(this).find("div.B_Add").remove();
$(this).parent().find(".B_List").append('<div class="Badge B_Add">'+ Bcount +'</div>');
} else {
$(this).find(".B_List").append('<div class="Badge B_Add">1</div>');
}
}
我运行了一个上下文菜单脚本,当我点击其中一个选项时,它会调用此函数。它应该看看活动元素是否具有此徽章。如果是,则递增徽章的整数值。否则,它会从1开始创建徽章。后一部分很容易,前者更难。
我想我混淆了元素类型,我不知道如何使用parseInt ......
修改的
想出来。
jQuery.fn.add = function() {
if ($(this).find(".Badge").hasClass(".B_add")) {
bCount = parseInt($(this).find(".B_add").text());
$(this).find(".B_add").remove();
$(".OPT .B_list").append('<div class="Badge B_add">'+(bCount+1)+'</div>');
} else {
$(".OPT .B_list").append('<div class="Badge B_add">0</div>');
}
}
答案 0 :(得分:2)
试试这个。
jQuery.fn.add = function() {
var Bnumber = $(".B_Add");
if (Bnumber) {
var Bcount = parseInt(Bnumber.html()) + 1;
Bnumber.html(Bcount);
} else {
$(this).find(".B_List").append('<div class="Badge B_Add">1</div>');
}
}
答案 1 :(得分:0)
尝试
Bcount = parseInt(Bnumber.text()) + 1;
答案 2 :(得分:0)
这是我的看法:
jQuery.fn.add = function() {
var badge = $('.B_Add', this);
if (badge.length) {
badge.html(Number(badge.html()) + 1);
} else {
$('.B_List', this).append('<div class="Badge B_Add">1</div>');
}
}
$('.B_Add', this)
来处理其他内容对我来说似乎一直是最干净的语法。badge.length
以查看是否找到了某个项目 - 即使jQuery选择器没有匹配任何项目,它仍会评估为true
B_Add
元素,更改其内容应该完成同样的事情。parseInt
。 Number
似乎做同样的事情,看起来更好。