2010-08-03 5 views
0

mon HTML:jQuery: comment supprimer un élément de l'arbre DOM?

<li class="accept accepted" name="javascript_required" style="display: block; " id="accept"> 
      <div id="accept-text" style="display: block; "> 
       Contract was Accepted 
      </div> 
      <a href="/view/close_contract/89?status=2" rel="facebox">Accept This Controct</a></li> 

alors mon jQuery que je suis en train dans la console webkit:

$j('li#accept').remove('a'); 

la commande ci-dessus reterns

Object 
> 0: HTMLLIElement 
> context: HTMLDocument 
    length: 1 
> prevObject: Object 
    selector: "li#accept" 
> __proto__: Object 

Après avoir saisi la commande, le anchor reste dans le DOM = (

+1

Pour votre information: l'attribut 'name' n'est pas valide sur un élément' LI'. – scunliffe

+0

vous sûr? mon javascript taht utilise l'attribut works = p – NullVoxPopuli

+0

Il n'est pas valide en HTML 4 Strict ou en HTML 5, mais il est valide dans les anciennes spécifications. En outre, vous pouvez lire un attribut de JavaScript si sa validité est conforme à la spécification HTML ou non. Il semble que vous utilisiez abusivement l'attribut 'name' pour attacher des données arbitraires à des éléments. Ce n'est pas recommandé. Utilisez les attributs de données HTML 5 pour cela. –

Répondre

2

Utilisez ce lieu:

$('li#accept > a').remove(); 
1

Votre selec tor est faux, essayez $('li.accept').remove('a');

+0

En fait, son sélecteur a l'air bien. Si vous faites défiler l'identifiant de l'élément li, acceptez. Je pensais également au premier abord. – spinon

+0

DOH, à droite. Eh bien, votre réponse est marquée comme acceptée maintenant, c'est bien. Savez-vous pourquoi son code ne fonctionnerait pas alors? Semble basé sur la documentation qu'il devrait avoir? – SBUJOLD

Questions connexes