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);
});
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 );
}
}
}
$('#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 :)
si vous div ressemble à ceci:
<div id="someId">Some Value</div>
vous pouvez le récupérer avec jquery comme ceci:
$('#someId').text()
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>
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.
Vous pouvez également utiliser innerhtml pour obtenir la valeur dans la balise ....