检查 div 是否包含 ul,然后对 div 应用样式

V N*_*eal 0 jquery

我有一个场景,如果它包含 UL,我想更改 div 的样式。基本上,它是一个错误面板,显示在表单的顶部。如果用户触发了一个错误,则文本居中对齐,如果用户触发了多个错误,则我希望显示 ul,但希望文本向左对齐。

我已经尝试过以下方法,但似乎不起作用 - 任何提示将不胜感激。

谢谢

$('.validationSummary').has('ul').css('text-align', 'left');
Run Code Online (Sandbox Code Playgroud)
<div class="validationSummary">Please correct the errors highlighted below
<ul>
<li>Error 1</li>
<li>Error 2</li>
<li>Error 3</li>
<li>Error 4</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

car*_*yam 5

我认为 PeeHaa 应该改进以满足您对这两种情况的要求......

var $target = $('.validationSummary');
if ($target.find("ul").length > 0) {
    $target..find("ul").css('text-align', 'left');
}
Run Code Online (Sandbox Code Playgroud)

如果样式尚未居中,您可能需要对 else 情况执行一些操作,例如

... as above ...
} else {
   $target.css('text-align','center');
}
Run Code Online (Sandbox Code Playgroud)