问题描述
我有一个包含以下 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。