2017-02-06 2 views
0

Je saisis l'ID de toutes les étiquettes sur une page. Je sais vouloir enlever trois lettres de celui-ci et les remplacer par deux lettres.pour chaque ID supprimer trois lettres et ajouter deux lettres

j'obtenu ce qui suit:

(function ($) { 
    $(document).ready(function() { 
    $('label').each(function(index) { 
     var id = $(this).attr('id'); 
     var idm = id.replace('lbl','cg') 
     $(this).parents('.control-group').addClass(idm); 
    }); 
    }); 
})(jQuery); 

Mais je reçois l'erreur Cannot read property 'replace' of undefined

Dans mon premier essai, j'écrit comme cela, mais a obtenu la même erreur:

(function ($) { 
    $(document).ready(function() { 
    $('label').each(function(index) { 
     var id = $(this).attr('id').replace('lbl','cg'); 
     $(this).parents('.control-group').addClass(id); 
    }); 
    }); 
})(jQuery); 
+0

Avez-_all_ des étiquettes ont un id? – Turnip

+0

Je ne sais pas car il est universel, donc j'ai choisi d'aller avec la réponse de Rion car il vérifie toutes les étiquettes avec un ID, puis exécute. – purple11111

Répondre

2

But I get the error Cannot read property 'replace' of undefined

Ceci est probablement dû au fait qu'un de vos éléments <label> ne possédait pas de id attribut défini.

Vous pourriez considérer que le ciblage <label> éléments que vous connaissez déjà ont un attribut id comme on le voit ci-dessous à l'aide the has attribute selector:

// Only target a label with a defined id attribute 
$('label[id]').each(function(index) { 
    var id = $(this).attr('id').replace('lbl','cg'); 
    $(this).parents('.control-group').addClass(id); 
}); 
+0

Merci beaucoup pour cela cela fonctionne comme un charme. Je peux accepter dans 10 minutes. – purple11111

+0

J'ai donc posé une autre question il y a environ 20 minutes et elle est liée à celle-ci. En fait, le code que vous donnez ici est le code exact nécessaire pour cette question. Dois-je supprimer l'autre question (alors que c'est une question différente) ou pouvez-vous poster cette réponse aussi là? Ou devrais-je poster? http://stackoverflow.com/questions/42076925/foreach-label-get-id-modify-this-id-add-to-parent-class J'ai posté un lien vers cette question en attendant. – purple11111