2012-07-16 3 views
0

J'ai eu ce code:Est-ce que ce JQuery peut être plus court?

$(document).ready(function() { 
    $('tr.DataDark input[type=checkbox], tr.DataLight input[type=checkbox]').click(function() { 
     $(this).closest('tr').toggleClass('Selected'); 
    }); 
    $('tr.DataDark input[type=checkbox]:checked, tr.DataLight input[type=checkbox]:checked').each(function() { 
     $(this).closest('tr').addClass('Selected'); 
    }); 
}); 

Peut-il être plus court écrit?

Merci pour vos suggestions.

+1

Je fixe votre code pour être correctement indenté dans une édition et vous buter sur le dessus de ma modifier pour visser à nouveau. S'il vous plaît apprendre à mettre en forme le code sur ce site (une caractéristique fondamentale). Mettez en surbrillance le code et utilisez le bouton '{}' dans l'éditeur de texte et regardez la fenêtre de prévisualisation avant de publier. – jfriend00

+0

Premier temporisateur, mon mauvais. J'apprécie votre travail! Ne se reproduira plus. – Bertjuhh

+0

Bienvenue dans Stack Overflow. Votre question n'est pas conforme au format attendu: stackoverflow.com/faq#questions. Vous devriez demander de l'aide pour résoudre un vrai problème, pas comment faire quelque chose. –

Répondre

2

Peut-être cela? Pas exactement plus court, mais peut-être plus simple.

$(document).ready(function() { 
    var checkBoxes = $('tr.DataDark input[type=checkbox], tr.DataLight input[type=checkbox]'); 

    checkBoxes.on("click", function() { 
    $(this).closest('tr').toggleClass('Selected'); 
    }); 

    checkBoxes.filter(':checked').closest('tr').addClass('Selected'); 
}); 

Pour le rendre plus court vous pouvez renoncer à la variable et la chaîne checkBoxes les filter().closest().addClass() appels directement à on("click").

0

Sans nous montrer le code HTML correspondant afin que nous puissions voir ce que les raccourcis sont possibles, il n'y a aucun moyen valable de réduire le nombre de lignes de code que vous avez présenté. Il existe des moyens de le modifier ou de le réduire au minimum pour réduire le nombre de caractères ou de réduire plusieurs lignes en une ligne plus longue, mais si vous voulez le garder lisible tout en conservant la même logique que vous avez et ne pas l'effondrer artificiellement plusieurs morceaux de logique ensemble dans une ligne plus longue, cela prendra environ le nombre de lignes de code que vous avez.

+0

cela devrait être un commentaire ... –

+0

@AndreasNiedermair - Non, c'est une réponse à la question a demandé des informations fournies. La réponse est non. – jfriend00

+0

Merci jfriend00. – Bertjuhh

Questions connexes