问题描述

我有一个包含以下 div 元素的页面:

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

如何通过 JQuery 或通过标准 JS 检索值 (“Some Value”)?我试过了:

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

但调试器控制台显示 「mb 为空」 。只是想知道如何检索这个值。

—-更新—-当我尝试建议我得到:$不是一个功能

这是 JQuery 事件处理程序的一部分,我在单击一个按钮时尝试读取该值。处理函数正在工作,但它不能解释 jQuery 值似乎:

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

以上代码将显示 innerHTML,即如果您在 div 中使用 html 标签,那么它们也将显示出来。大概这不是你所期望的。所以另一个解决方案是使用:innerText /textContent 属性 [thanx to bobince,看他的评论]

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()

虽然你最好做一些像:



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

确保你也链接到你的 jQuery 文件:)

第三种解决方法

如果你的 div 看起来像这样:

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

你可以用 jquery 这样检索它:

$('#someId').text()

第四种方法

你的 div 看起来像这样:

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

用 jquery:

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

第五种方法

你可以使用

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

看起来可能与使用 $的冲突。请记住,变量’mb’ 将不能在事件处理程序之外访问。另外, text() 函数返回一个字符串,不需要得到 mb.value 。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。