Sono un principiante, quindi scuse per la codifica dei rifiuti! Ho scritto il seguente Jquery per un progetto di pratica mi sono posto:Jquery Se l'elemento ha una classe che inizia con x, allora non aggiungereClass
Quando si fa clic sul div, ha la classe di "in_answerbox1" aggiunto e un div clonato è creato nella answerbox con la classe "answerbox_letter1" aggiunto.
Eventualmente ci saranno molti div in una griglia (o celle in una tabella) che quando si fa clic su un particolare, si dissolvono e sembrano apparire nella casella di risposta. Quindi quando si fa clic sulla cosa nella casella di risposta, riappare il relativo div nella griglia e il clone verrà rimosso dalla casella di risposta.
Tuttavia, ora voglio la classe per essere aggiunto solo se la cosa che sto facendo clic su non è già nella answerbox: vale a dire, se l'originale o il clone ha una classe che contiene "answerbox".
Ho scritto quanto segue sapendo che non avrebbe funzionato ma che avrebbe potuto spiegare cosa volevo di meglio.
var n = 0;
$('#box').click(function(){
if(!$(this).hasClass('*[class^="answerbox"]')) {
$(this).addClass('in_answerbox' + (n+ 1));
$(this).clone().appendTo('#answerbox').addClass('answerbox_letter' + (n + 1));
n = (n + 1);
}
});
Qualche suggerimento?
Questo cercherà di trovare elementi con il selettore indicato 'below' l'elemento corrente nell'albero DOM, escludendo l'elemento corrente. Ma l'OP voleva controllare l'elemento corrente per una data classe – devnull69
grazie corretto, ha interpretato erroneamente la domanda – soyuka
Grazie per il suggerimento! Sì, volevo controllare l'elemento corrente per una determinata classe. – Truvia