【发布时间】:2012-04-04 20:00:57
【问题描述】:
我正在使用单选按钮之类的 div 并且有一个问题。
我这样声明一个函数和变量
我设置了两种样式,一个 .buttonUp 和 .buttonDown 应用于 div 的 onclick 事件。
<script type="text/javascript">
var onCheck;
function setRadio(param_ElementRef)
{
if (param_ElementRef != onCheck)
{
if (onCheck)
{
onCheck.className = 'buttonUp';
}
param_ElementRef.className = 'buttonDown';
onCheck = param_ElementRef;
}
}
</script>
我像这样在div中调用一个函数
<div id="Yes" class="buttonUp" onclick="setRadio(this)">Yes</div>
<div id="No" class="buttonUp" onclick="setRadio(this)">No</div>
<div id="Maybe" class="buttonUp" onclick="setRadio(this)">Maybe</div>
这很好用,但我在为 onCheck 变量设置默认值时遇到了麻烦。
我尝试提供 div 的 id,但是当我 alert($('#Yes') 时它显示 [object Object],而如果我 alert(param_ElementRef) 它显示 [object HtmlDivElement]
两者明显有区别,有没有办法通过id引用或者类似的方式返回同一个对象?
非常感谢
【问题讨论】:
-
alert($('#Yes')显示[object Object]的原因是因为它是一个 jQuery 对象。另一方面,如果您希望返回[object HtmlDivElement],请尝试使用alert(document.getElementById('Yes'))而不是alert($('#Yes') -
哇!杰出的!谢谢你。我的印象是 $ 和 document.getElementbyId 是一回事。我错了!谢谢!
-
发表评论作为答案并添加了更多内容
-
如果要将
[object HtmlDivElement]或其他HTML 元素转换为[object Object]元素以供JQuery 使用,请将$()包裹在变量周围,例如$(myHtmlVariable)