Ajouter un attribut image a la balise <a>

mchiicha -  
 mchiicha -
Bonjour,

J'ai un arbre de critère cumme celui présenté sur ce lien: http://www.dhtmlgoodies.com/scripts/ajax-update-data/ajax-update-data.html et je voudrais au moment où je clique sur un critère ça le cache de l'arbre y compris l'icone qui lui est associé, seulement j'arrive à cacher le critère (cad l'écriture) mais pas l'icone; voici ma declaration de liste et la fonction qui me permet de hider l'élément:

<ul id="tree" class="tree">

<fieldset width=50% title="Type of Criteria Parameter">
<legend align="center">Search Criteria Tree</legend>
<li class="folder.gif"><a href="#" id="node1">Identification Parameters</a>
<ul>
<li class="sheet.gif"><a href="#" id="plmn" ondblclick="remove_searched_criteria_from_tree((this.id);">PLMN</a></li>
<li class="sheet.gif"><a href="#" id="arfcn" ondblclick="remove_searched_criteria_from_tree((this.id);">ARFCN</a></li>
<li class="sheet.gif"><a href="#" id="bsic_sc" ondblclick="remove_searched_criteria_from_tree((this.id);">BSIC/SC</a></li>
<li class="sheet.gif"><a href="#" id="lac" ondblclick="remove_searched_criteria_from_tree((this.id);">LAC</a></li>
<li class="sheet.gif"><a href="#" id="cell_id" ondblclick="remove_searched_criteria_from_tree((this.id);">NETWORK CELL ID</a></li>
<li class="sheet.gif" style=" visibility:hidden"><a href="#" id="node8" ondblclick="remove_searched_criteria_from_tree((this.id);">RAC</a></li>
</ul>
</li>
(etc...)
et pr le hide:

function remove_searched_criteria_from_tree(id){
document.getElementById(id).style.display="none";
}

ce que je voudrais donc faire, c'est associer l'image directement a la balise <a> comme ça qd j'appelle l'id du critere souhaité ça enlève tout!
Est ce possible svp?

Merci et bon week end!

3 réponses

hector valdes
 
C'est possible en effet.

Pour faire vraiment très simple, je te conseillerais d'utiliser JQuery (framework javascript).

Ensuite, tu fais un

$('#idDuTrucQueTuVeuxCacher').click(function() {
$(this).hide();
}
0
hector valdes
 
Et j'ai oublier si tu veux cacher l'image :

$('#idDuTrucQueTuVeuxCacher').click(function() {
         $(this).hide();
         $(this).parent().hide();
}



Et le tour est joué.
0
mchiicha
 
je suis obligée d'utiliser je jQuery?
Et puis ce qui m'embête c'est que ton bout de code c'est du php et moi la fonction remove c'est une fonction js alors j'ai adapté et ça donne ça:

function remove_searched_criteria_from_tree(id){
document.getElementById(id).style.display="none";
this.hide();
this.parent().hide();

}

Et puis autre question, quand tu mets this.parent tu vise le li? psk faut pas oublier que moi j'ai une liste dont un élément ci dessous:
<li id="plmn" class="sheet.gif"><a href="#" id="plmn" ondblclick="remove_searched_criteria_from_tree(this.id,'block');">PLMN</a></li>
0
hector valdes
 
Alors en fait, le bout de code que je te donne n'est en aucun cas du php. Je pense que c'est le '$' qui te fait dire ça.

En fait il s'agit de code javascript reprenant le framework JQuery.
Tu n'es absoulement pas obligé d'utiliser JQuery, mais c'est tellement d'une simplicité déconcertante, que c'est pour cela que je te le conseille. Tu as juste besoin d'inclure la source de JQuery (jquery.js) dans le header de ta page HTML, et ensuite tu peux écrire le code que tu veux.
Tu verras, si tu l'utilises, tu pourras faire du code javascript puissant en codant très peu.

Autrement, pour le $(this).parent(), je visais en effet, le li. Il y a peut etre quelque chose que j'ai mal compris dans ce que tu veux faire. Que veux tu cacher exactement? Avec le bout de script que je t'ai donné, tu cache le lien et le li.
0
mchiicha
 
C'est exactement ce que je veux faire!
Je vais intégrer le jQuery et je vais essayer tout ça.
To be continued...
Merci
0
mchiicha > mchiicha
 
j'ai intégré le lien suivant dans mon head: <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js'></script>
puis la fonction que tu m'as dit mais ça n'a pas l'air de marcher, en fait ça pourri d'autres fonctions qui marchaient parfaitement avant (ils les reconnait plus certaines fonctions) alors je me demande si le fait d'integrer cette framework nous oblige a changer la syntaxe de tout le code ou ya autre chose?
0