Pre*_*edz 2 javascript jquery addclass class css-selectors
我不确定我是否正确地采用了这种方式,但我会尽力解释我正在尝试做的事情.
我有一个包含菜单的HTML页面.在该菜单中,有许多实例使用特定的CSS类.页面更改时,将通过URL传递一个值,然后使用该URL突出显示所选项目并展开子菜单.
我遇到的问题是,当我尝试使用此值在正确的点扩展列表时,我实际上无法选择并添加新的CSS类或执行其他操作.我会在下面发布一些代码,这样你就可以更好地理解我在谈论的内容,然后给出一个示例场景.
if (param != null) {
$('.menuButton')[paramvalue].addClass('on');
$('.menuButton')[paramvalue].slideDown('normal');
}
Run Code Online (Sandbox Code Playgroud)
这是给出问题的javascript部分.在上面的例子中,paramvalue可以被0或1等替换.这部分到达我想要改变的特定类.我通过在HTML中添加一个id并使用以下命令检索它来检查这个:
alert($('.menuButton')[paramvalue].id);
Run Code Online (Sandbox Code Playgroud)
这返回了正确的ID值.
HTML如下:
<div class="menuButton" id="2">Button 1</div>
<div class="subMenu">
<ul>
<li><a href="#">Item 1.1</a></li>
<li><a href="#">Item 1.2</a></li>
<li><a href="#">Item 1.3</a></li>
</ul>
</div>
<div class="menuButton" id="3">Button 2</div>
<div class="subMenu">
<ul>
<li><a href="#">Item 2.1</a></li>
<li><a href="#">Item 2.2</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
没有CSS与id一起使用,它们主要是为了测试而添加的.如果有必要,我可以发布相关的CSS,但我认为这不是问题的一部分.
我应该提一下,使用以下作品
$('.menuButton').addClass('on');
Run Code Online (Sandbox Code Playgroud)
所以也许这会缩小问题的范围.
如果您需要任何其他信息.只是问.
谢谢你的帮助.
通过使用$(selector)[index]您将jQuery对象转换为没有addClass方法的DOM Element对象,您可以使用eq()方法:
$('.menuButton').eq(paramvalue).addClass('on');
$('.menuButton').eq(paramvalue).slideDown('normal');
Run Code Online (Sandbox Code Playgroud)
您也可以链接您的方法:
$('.menuButton').eq(paramvalue).addClass('on').slideDown('normal');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |