2010-04-20 3 views
24

J'utilise ce qui suit,Comment obtenir une balise span à l'intérieur d'une div dans jQuery et assigner un texte?

<div id='message' style="display: none;"> 
    <span></span> 
<a href="#" class="close-notify">X</a> 
</div> 

Maintenant, je veux trouver la durée à l'intérieur du div et attribuer un texte à lui ...

function Errormessage(txt) { 
    $("#message").fadeIn("slow"); 
    // find the span inside the div and assign a text 
    $("#message a.close-notify").click(function() { 
     $("#message").fadeOut("slow"); 
    }); 
} 

Répondre

45

Essayez ceci:

$("#message span").text("hello world!"); 

Voyez-le dans votre code!

function Errormessage(txt) { 
    var m = $("#message"); 

    // set text before displaying message 
    m.children("span").text(txt); 

    // bind close listener 
    m.children("a.close-notify").click(function(){ 
     m.fadeOut("slow"); 
    }); 

    // display message 
    m.fadeIn("slow"); 
} 
+0

@macek, désolé pour l'édition. – rahul

+0

@rahul, j'étais un peu confus. Pas de soucis :) –

4

Essayez cette

$("#message span").text("hello world!"); 

function Errormessage(txt) { 
    var elem = $("#message"); 
    elem.fadeIn("slow"); 
    // find the span inside the div and assign a text 
    elem.children("span").text("your text"); 

    elem.children("a.close-notify").click(function() { 
     elem.fadeOut("slow"); 
    }); 
} 
+1

@rahul, vous devriez probablement définir le texte et lier l'écouteur avant d'afficher le contenu de '# message' –

16
$("#message > span").text("your text"); 

ou

$("#message").find("span").text("your text"); 

ou

$("span","#message").text("your text"); 

ou

$("#message > a.close-notify").siblings('span').text("your text"); 
+1

Que diriez-vous si vous avez déjà l'objet JQuery qui est' message'? –

+0

@ douglasg14b J'ai la même question. – IanS

+1

vous faites quelque chose comme 'message.find (....' – Reigel

0
function Errormessage(txt) { 
    $("#message").fadeIn("slow"); 
    $("#message span:first").text(txt); 
    // find the span inside the div and assign a text 
    $("#message a.close-notify").click(function() { 
     $("#message").fadeOut("slow"); 
    }); 
} 
Questions connexes