我正努力学习jquery和javascript,并编写了两个不同的change()函数,但我觉得可以更精简和组合。
你们认为最干净的方法是什么?
jQuery(document).ready(function($){
jQuery("#custcolmen_size").change(function () {
if($('.stock-message > span:contains("Out of stock")').length){
$(".add2cart-div > input").addClass('disabled').removeClass('cart');
$(".stock-message > span").addClass('alert alert-danger');
}
else if($('.stock-message > span:contains("")').length) {
$(".add2cart-div > input").removeClass('disabled').addClass('cart');
$(".stock-message > span").removeClass('alert alert-danger');
}
});
jQuery("#custcolwomen_width").change(function () {
if($('.stock-message > span:contains("Out of stock")').length){
$(".add2cart-div > input").addClass('disabled').removeClass('cart');
$(".stock-message > span").addClass('alert alert-danger');
}
else if($('.stock-message > span:contains("")').length) {
$(".add2cart-div > input").removeClass('disabled').addClass('cart');
$(".stock-message > span").removeClass('alert alert-danger');
}
});
});
答案 0 :(得分:0)
由于两个处理程序的逻辑相同,您可以使用逗号将两个选择器连接起来,如下所示:
jQuery(document).ready(function($) {
jQuery("#custcolmen_size, #custcolwomen_width").change(function () {
if ($('.stock-message > span:contains("Out of stock")').length){
$(".add2cart-div > input").addClass('disabled').removeClass('cart');
$(".stock-message > span").addClass('alert alert-danger');
}
else if ($('.stock-message > span:contains("")').length) {
$(".add2cart-div > input").removeClass('disabled').addClass('cart');
$(".stock-message > span").removeClass('alert alert-danger');
}
});
});