Javascript 在JQuery中获取Div值
我有一个包含以下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 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。谢谢你的回答:)