web-dev-qa-db-fra.com

Comment obtenir une balise span dans un div dans jQuery et attribuer un texte?

J'utilise ce qui suit,

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

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

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");
    });
}
25
bala3569

Essaye ça:

$("#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");
}
52
maček
$("#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");
18
Reigel

Essaye ça

$("#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");
    });
}
4
rahul
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");
    });
}

Vanilla JS, sans jQuery:

document.querySelector('#message span').innerHTML = 'hello world!'

Disponible dans tous les navigateurs: https://caniuse.com/#search=querySelector

0
Alexander Kim