Получить значение Div в JQuery - PullRequest
       51

Получить значение Div в JQuery

37 голосов
/ 01 декабря 2009

У меня есть страница, содержащая следующий элемент div:

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

Как мне получить значение («Некоторое значение») через JQuery или стандартный JS? Я попробовал:

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

Но консоль отладчика показывает "mb is null". Просто интересно, как получить это значение.

---- ОБНОВЛЕНИЕ ---- Когда я пробую предложение, я получаю: $ не является функцией

Это часть обработчика событий JQuery, где я пытаюсь прочитать значение, когда нажимаю кнопку. Функция обработчика работает, но она не может интерпретировать значение jQuery, которое выглядит так:

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

Ответы [ 6 ]

60 голосов
/ 01 декабря 2009
$('#myDiv').text()

Хотя вам лучше сделать что-то вроде:

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>

Убедитесь, что вы тоже ссылаетесь на файл jQuery:)

24 голосов
/ 01 декабря 2009
myDivObj = document.getElementById("myDiv");
if ( myDivObj ) {
   alert ( myDivObj.innerHTML ); 
}else{
   alert ( "Alien Found" );
}

Над кодом будет показан innerHTML, т. Е. Если вы использовали html-теги внутри div, то он покажет и те. вероятно, это не то, что вы ожидали. Таким образом, другое решение заключается в использовании: innerText / textContent свойство [спасибо bobince, смотри его комментарий]

function showDivText(){
            divObj = document.getElementById("myDiv");
            if ( divObj ){
                if ( divObj.textContent ){ // FF
                    alert ( divObj.textContent );
                }else{  // IE           
                    alert ( divObj.innerText );  //alert ( divObj.innerHTML );
                } 
            }  
        }
13 голосов
/ 01 декабря 2009

если ваш div выглядит так:

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

вы можете получить его с помощью jquery следующим образом:

$('#someId').text()
6 голосов
/ 26 июля 2013

ваш div выглядит так:

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

С JQuery:

   <script type="text/javascript">
     $(function(){
         var text = $('#someId').html(); 
         //or
         var text = $('#someId').text();
       };
  </script> 
2 голосов
/ 01 декабря 2009

Вы можете использовать

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

Похоже, может быть конфликт с использованием $. Помните, что переменная 'mb' не будет доступна вне обработчика событий. Также функция text () возвращает строку, не нужно получать mb.value.

1 голос
/ 01 декабря 2009

Вы также можете использовать innerhtml, чтобы получить значение внутри тега ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...