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

时间:2011-06-19 14:12:03

标签: jquery

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

我尝试过以下但是似乎没有用 - 任何提示都会受到赞赏。

由于

$('.validationSummary').has('ul').css('text-align', 'left');
<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>

2 个答案:

答案 0 :(得分:3)

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

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

如果样式尚未居中,您可能希望在else案例中执行某些操作,例如

... as above ...
} else {
   $target.css('text-align','center');
}

答案 1 :(得分:1)

if ($('.validationSummary ul').length > 0) {
    $('.validationSummary').css('text-align', 'left');
}

<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>