javascript - bootstrap - html5 audio player with playlist free



jQuery: exclut les enfants de.text() (3)

Dupliquer possible:
jquery exclut certains nœuds enfants de .text ()

Compte tenu de ce code HTML:

<a href="#" class="artist">Soulive<span class="create-play">Play</span></a>

Je veux obtenir le contenu du texte de la (qui est dans le contexte de ma fonction) sans le contenu du texte de la span , donc il me reste:

Soulive

Si je fais:

$(this).text();

Je reçois:

SoulivePlay

Comment exclure le contenu du texte de la span ?

https://ffff65535.com


Un micro-plugin:

$.fn.ignore = function(sel){
  return this.clone().find(sel||">*").remove().end();
};

... ayant ce HTML:

<div id="test"><b>Hello</b><span> World</span>!!!</div>

aura pour résultat:

var text = $('#test').ignore("span").text(); // "Hello!!!"
var html = $('#test').ignore("span").html(); // "<b>Hello</b>!!!"

si vous le voulez plus rapidement et que vous n'avez qu'à exclure les enfants immédiats ... utilisez .children( au lieu de .find(



$(this).clone().find('span').remove().end().text();

sinon, avec une approche différente, si vous êtes sûr que vos éléments span contiennent toujours le mot "play" à la fin, utilisez simplement une fonction replace() ou une substring() - substring() , par exemple

var text = $(this).text();
text = text.substring(0, text.length-4);

le dernier exemple est une méthode trop localisée et pas à toute épreuve, mais je l'ai mentionné juste pour proposer une solution d'un point de vue différent





jquery