2010-10-14 9 views

Répondre

4

Vous pouvez utiliser .replaceWith(), par exemple:

$("dd").replaceWith(function() { return $(this).contents(); }); 

You can test it out here.

+0

je l'ai vérifié mais il supprime aussi le contenu qui est dans la balise dd qui est "Bonjour wolrd" – user438860

+0

@ user438860 - Il ne devrait pas faire cela à moins que vous êtes dans un navigateur qui ne supporte pas la balise HTML5 '

' (IE peut-être?) Dans ce cas, vous avez besoin de quelque chose comme html5shiv: http://code.google.com/p/html5shiv/ –

+0

$ ("div"). html (fonction (i, h) {return $ (h) .text();}); cela fonctionne vraiment merci – user438860

0

Voici ce que j'utilise. Mais attention, cela ne fonctionne que si vous donnez au div une classe (ou id).

var string = $('div.test').html().replace('<dd>', '').replace('</dd>', '') 
$('div.test').html(string); 

Ce que cela va faire est de mettre simplement le contenu du div dans une variable (avec .html() vous prenez pas seulement le texte mais tout le html) et puis dénuder les balises dd, repeupler alors la

modifier:

est ici une meilleure façon de le faire réellement. En utilisant ce code, vous ne devez pas compter sur une classe ou un identifiant pour le div.

container = $('div').find('dd').parent(); 
    var test = container.html().replace('<dd>', '').replace('</dd>', '') 
    container.html(test); 
+0

voir ma modification, je l'ai changé de sorte que vous n'avez pas besoin d'utiliser une classe (en cas vous n'avez pas accès, car vous ne semblez pas avoir accès pour supprimer le dd? – Jubair

0

Vous pouvez toujours faire une instruction if qui vérifie si un div contient un élément dd à l'intérieur de celui-ci, alors si tel est le cas, copiez le contenu du dd, retirer l'élément dd, puis injecter la contenu dans la div.

Je ne connais pas beaucoup le javascript, mais en supposant que vous utilisiez le bon objet et un algorithme simple, tout peut être fait!

Questions connexes