Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JQuery中获取Div值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在JQuery中获取Div值

Javascript 在JQuery中获取Div值,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含以下div元素的页面: <div id="myDiv" class="myDivClass" style="">Some Value</div> 但调试器控制台显示“mb为空”。只是想知道如何检索这个值 ----更新---- 当我尝试这个建议时,我得到:$不是一个函数 这是JQuery事件处理程序的一部分,当我单击一个按钮时,我试图读取该值。handler函数正在工作,但它无法解释jQuery值,看起来: jQuery('#gregsButton').cli

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

<div id="myDiv" class="myDivClass" style="">Some Value</div>
但调试器控制台显示“mb为空”。只是想知道如何检索这个值

----更新---- 当我尝试这个建议时,我得到:$不是一个函数

这是JQuery事件处理程序的一部分,当我单击一个按钮时,我试图读取该值。handler函数正在工作,但它无法解释jQuery值,看起来:

jQuery('#gregsButton').click(function() { 
   var mb = $('#myDiv').text();
   alert("Value of div is: " + mb.value); 
});
尽管你最好还是做一些事情,比如:

var txt=$('#myDiv p').text();
警报(txt)


一些文本

如果您的div如下所示:

<div id="someId">Some Value</div>
$('#someId').text()
<div id="someId">Some Value</div>
上面的代码将显示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 );
                } 
            }  
        }
你可以用

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

看起来可能与使用$有冲突。请记住,在事件处理程序之外无法访问变量“mb”。另外,text()函数返回一个字符串,无需获取mb.value。

您也可以使用innerhtml获取标记中的值。

您的div如下所示:

<div id="someId">Some Value</div>
$('#someId').text()
<div id="someId">Some Value</div>
一些值
使用jquery:

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

$(函数(){
var text=$('#someId').html();
//或
var text=$('#someId').text();
};

您可以使用

test_alert=$('#myDiv').val();
警报(测试警报);


一些文本

+1-如果
myDiv
包含其他也包含文本节点的元素怎么办?OP如何只获取
myDiv
的文本?Re:“$不是函数”-你确定包含jQuery.js文件吗?@Chris:我喜欢你使用的方式
Re:
;)你在哪里设置事件处理程序?确保它位于页面正文的
$(document).ready()
myDiv
之后(通常最好将脚本放在末尾)。不应使用mb.value,只需使用变量mb,它是一个字符串,即警报(“值为:”+mb);Re:“$不是函数”-不要使用$,使用jQuery-美元是jQuery的别名,从代码的外观看,您没有使用jQuery的别名-可能是因为您也在使用prototype等。对不起,但我对这一点还是很陌生…上面建议的解决方案的问题是,调试器现在给了我一个错误:var mb=jQuery('#myDiv')。text()表示“jQuery”无法识别…这就像是无法从函数内部访问jQuery库。应该说调试器中的消息是“jQuery未定义”在调试器中不断获取消息“myDivObj”为NULL。我想知道这个div的值是动态的并且由javaScript填充这一事实是否是问题的原因。它是一个不断递增的计数器。没有
text
这样的属性,有
textContent
(DOM级别3核心标准)和
innerText
(仅限IE)
text()
是调用这两种方法之一的jQuery方法。我只想展示另一种方法,即.val()。每个人都展示了text()和html()方法。但当我尝试时,val()方法也适用于我,所以我只想与大家分享。你为什么投了反对票?分享其他一些方式是不是一件坏事?一般来说不是,但是如果答案不对-val应该用于输入元素,请参见为什么:Ok。谢谢你的回答:)