我有这个表格:
<form action="javascript:;" class="iceFrm" enctype="application/x-www-form-urlencoded" id="frmMainMenu" method="post" onsubmit="return false;">
.....
</form>
我不明白为什么这个脚本:
<script type="text/javascript">
$(document).ready(function () {
$("#frmMainMenu").$("#menuPopupAP").$("#menuItem0").$("#out").css('padding','0 0 0 29px');
});
</script>
说:
$("#frmMainMenu")
is null
在 Firebug 中。
更新: 这是 html 元素(来自上面的表单)我想更改填充:
<span id="frmMainMenu:menuPopupAP:menuItem0:out" class="iceOutTxt iceMnuItmLabel graMenuPopupMenuItemLabel">My Applications</span>
更新2:
我忘记提到这个跨度在菜单中,所以基本上它通常是隐藏的,并且仅当悬停在某个 div 上时才显示...即使它没有显示,jQuery 是否能找到它?
你知道为什么吗?
最佳答案
我不确定您收到 null 错误的确切原因,但如果您打算将该样式应用于这四个特定元素,则语法应为:
$("#frmMainMenu, #menuPopupAP, #menuItem0, #out").css('padding','0 0 0 29px');
如果(我无法判断,因为我们提供的标记样本不足)这四个元素是层次结构中的连续节点(即 #out
是 # 的子级) menuItem
是 #menuPopupAp
的子级,是 #frmMainMnenu
的子级),然后删除它们之间的逗号。
编辑 id 中的冒号?这会导致 jQuery 选择器出现问题。尝试使用下划线代替?
关于javascript - 为什么 jQuery 函数返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408572/