web-dev-qa-db-fra.com

Obtenir une valeur de div dans JQuery

J'ai une page contenant l'élément div suivant:

<div id="myDiv" class="myDivClass" style="">Some Value</div>

Comment pourrais-je récupérer la valeur ("Une certaine valeur") via JQuery ou via JS standard? J'ai essayé:

var mb = document.getElementById("myDiv");

Mais la console de débogage indique "mb is null". Je me demandais simplement comment récupérer cette valeur.

---- UPDATE ---- Quand j'essaie la suggestion que je reçois: $ n'est pas une fonction

Cela fait partie d'un gestionnaire d'événements JQuery dans lequel j'essaie de lire la valeur lorsque je clique sur un bouton. La fonction de gestionnaire fonctionne mais elle ne peut pas interpréter la valeur jQuery, il semble:

jQuery('#gregsButton').click(function() { 
   var mb = $('#myDiv').text();
   alert("Value of div is: " + mb.value); 
});
37
GregH
myDivObj = document.getElementById("myDiv");
if ( myDivObj ) {
   alert ( myDivObj.innerHTML ); 
}else{
   alert ( "Alien Found" );
}

Le code ci-dessus montrera le innerHTML, c'est-à-dire si vous avez utilisé des balises html dans div, il montrera même celles-ci. ce n'est probablement pas ce à quoi vous vous attendiez. Donc une autre solution consiste à utiliser: la propriété innerText/textContent [merci à bobince, voir son commentaire]

function showDivText(){
            divObj = document.getElementById("myDiv");
            if ( divObj ){
                if ( divObj.textContent ){ // FF
                    alert ( divObj.textContent );
                }else{  // IE           
                    alert ( divObj.innerText );  //alert ( divObj.innerHTML );
                } 
            }  
        }
24
Rakesh Juyal
$('#myDiv').text()

Bien que vous feriez mieux de faire quelque chose comme:

var txt = $('#myDiv p').text();
alert(txt);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myDiv"><p>Some Text</p></div>

Assurez-vous également que vous créez un lien vers votre fichier jQuery :)

60
Jason

si vous div ressemble à ceci:

<div id="someId">Some Value</div>

vous pouvez le récupérer avec jquery comme ceci:

$('#someId').text()
13
Zenon

votre div ressemble à ceci:

<div id="someId">Some Value</div>

Avec jquery:

   <script type="text/javascript">
     $(function(){
         var text = $('#someId').html(); 
         //or
         var text = $('#someId').text();
       };
  </script> 
6
Boopathi.Indotnet

Vous pourriez utiliser

jQuery('#gregsButton').click(function() { 
    var mb = jQuery('#myDiv').text(); 
    alert("Value of div is: " + mb); 
});

On dirait qu'il peut y avoir un conflit avec l'utilisation du $. N'oubliez pas que la variable 'mb' ne sera pas accessible en dehors du gestionnaire d'événements. De plus, la fonction text () renvoie une chaîne, inutile d’obtenir mb.value.

2
Sandro

Vous pouvez également utiliser innerhtml pour obtenir la valeur dans la balise ....

1
Hulk