我有以下代码来测试其父类是否具有特定类:
if ($(levelsdiv).parent().hasClass('aligntop')) {
并且html结构为:
<div class="row col-md-12 aligntop">
<div class="dropdown-submenu col-md-2 level-1">
<ul>
<li><a class="toggle" href="#">
我的测试有效。但是,有人要求我更改测试,以便不使用parent()
。论据是,如果随着时间的推移有人决定稍微更改页面,则代码将中断。我尝试使用find
和closest
都不起作用。
$(levelsdiv)=级别为1的div
所以$(levelsdiv').closest('div').hasClass('aligntop')
和
$(levelsdiv').find('div').hasClass('aligntop')
答案 0 :(得分:0)
closest
确实有效(find
无效,方向错误)。您需要一种识别所需元素的方法。查看您的HTML,识别它的一种方法是使用row
,因此:
if ($(levelsdiv).closest(".row").hasClass('aligntop')) {
...但这只是一种方式,是否您和您的团队要使用的方式取决于您。您可能要为此专门添加一个类:
<div class="row col-md-12 aligntop levels-container">
<div class="dropdown-submenu col-md-2 level-1">
<ul>
<li><a class="toggle" href="#">
...然后:
if ($(levelsdiv).closest(".levels-container").hasClass('aligntop')) {