Bonjour,
J'ai une page web qui affiche un fichier XML via une feuille de style XSL.
cet affichage se fait via un appel AJAX.
L'affichage résultant donne ce genre de résultat:
Je cherche via un javascript (JQuery ou JS standard) de réaliser une fonction permettant de rechercher dans chaque div "msg", une div de class "code" qui contient un texte particulier (evt par exemple) et une div de class "valeur" qui contient la valeur voulue.
dans l'exemple ci-dessus, je recherche tous les messages qui ont:
Lorsque ce couple a été trouvé, je voudrais appliquer à la div "msg" parente, la propriété "display: none;"
J'ai réalisé cette fonction mais cela ne fonctionne pas
Je pense que ce doit être surement plus simple à faire en JQuery, mais je ne sais vraiment pas comment m'y prendre...
[/i][/i]
Modifié par mamax (05 May 2011 - 13:58)
J'ai une page web qui affiche un fichier XML via une feuille de style XSL.
cet affichage se fait via un appel AJAX.
L'affichage résultant donne ce genre de résultat:
<div id="content">
<div class="msg">
<div class="msgbrut"></div>
<div class="msgdecode">
<div class="info">
<div class="nom">Evènement</div>
<div class="code">evt</div>
<div class="valeur">21</div>
<div class="desc">Emission d'un message</div>
<div class="detail"></div>
</div>
<div class="info">
...
</div>
...
</div>
<div class="infocomp">
<div class="info">
<div class="nom">Type d'action</div>
<div class="code">tyac</div>
<div class="valeur">0001</div>
<div class="desc">Positionnement bloqué</div>
<div class="detail"></div>
</div>
</div>
</div>
<div class="msg">
...
</div>
</div>
Je cherche via un javascript (JQuery ou JS standard) de réaliser une fonction permettant de rechercher dans chaque div "msg", une div de class "code" qui contient un texte particulier (evt par exemple) et une div de class "valeur" qui contient la valeur voulue.
dans l'exemple ci-dessus, je recherche tous les messages qui ont:
<div class="code">evt</div>
<div class="valeur">21</div>
Lorsque ce couple a été trouvé, je voudrais appliquer à la div "msg" parente, la propriété "display: none;"
J'ai réalisé cette fonction mais cela ne fonctionne pas
function hide_div_class(code_value,valeur_value)
{
var j = 0;
var count = 0;
var trouve = 0;
var divCollection = document.getElementsByTagName("div");
for (var i=0; i<divCollection.length; i++)
{
if(divCollection[i].className == "msg")
{
j = i + 1;
while ( divCollection[j].className != "msg" || trouve == 1 )
{
if ( divCollection[j].className == "code" && divCollection[j].innerHTML == code_value && divCollection[j+1].innerHTML == valeur_value )
{
divCollection[i].style.display == "none";
count = count + 1;
trouve = 1;
alert ("Trouvé");
}
j++;
}
trouve = 0;
i = j;
}
}
}
Je pense que ce doit être surement plus simple à faire en JQuery, mais je ne sais vraiment pas comment m'y prendre...
[/i][/i]
Modifié par mamax (05 May 2011 - 13:58)