Cambio di sintassi di jQuery

Mi sono accorto che in internet non si accenna da nessuna parte che la famosa libreria jQuery ha avuto un cambio di sintassi per scrivere i javascript.

Siccome ho dovuto riscrivere alcuni javascript (dalla 1.1.4 alla 1.3.2) nella nuova sintassi di jQuery vi riporto alcuni esempi:

prima:

if ($(“input[@id=PROVA]“).val()==”NON PRESENTE”) {

dopo

if ($(“input#PROVA”).val()==”NON PRESENTE”) {

in pratica quando prima c’era un id da prendere ora
[@id diventa solamente # e perde le parentesi quadre

la seguente linea

$("input[@name='PROVA_EDT_"+i+"']“).hide();

che ha il descrittore @name

diventa

$(“input[name=PROVA_EDT_"+i+"]“).hide();

in pratica perde sia la @ che le virgolette ‘

ad esempio la seguente riga

if ($(“input[@id='PROVA_edt_"+i+"']“).val()!=$(“input[@id='PROVA_edt_"+i+"']“).val()) {

diventa

if ($(“input#PROVA_edt_”+i).val()!=$(“input#PROVA_edt_”+i).val()) {

in pratica oltre a perdere le parentesi quadre perde anche le virgolette ‘

da quanto mi sembra il selettore ‘contains’ rimane lo stesso

ecco un esempio funzionante

attivazione=$(“tr:contains(‘avanzata’)”).html();

come cambiare gli attributi tramite attr

prima si usava questa sintassi:

$(‘a[@id=esempio]‘).attr(‘href’,’../scan/scan.php?recid=’+recid);
$(‘a[@id=esempio]‘).attr(‘target’,'_blank’);

la nuova sintassi è:

$(‘a#esempio’).attr({
href: ‘../scan/scan.php?recid=’+recid+”,
target: ‘_blank’,
});

da notare l’uso delle parentesi graffe.