Javascript jQuery:如何检查元素是否存在并更改css属性
首先,如果这是一个简单的问题,很抱歉。我是jQuery新手,我想知道如何检查元素是否存在,如果存在,如何更改css属性 我的意思是:我有以下清单:Javascript jQuery:如何检查元素是否存在并更改css属性,javascript,jquery,css,Javascript,Jquery,Css,首先,如果这是一个简单的问题,很抱歉。我是jQuery新手,我想知道如何检查元素是否存在,如果存在,如何更改css属性 我的意思是:我有以下清单: <ul class="element-rendered"> <li class="element-choice">Item A</li> <li class="select-inline">Item B</li> </ul> 项目A 项目B 我想知道如何检
<ul class="element-rendered">
<li class="element-choice">Item A</li>
<li class="select-inline">Item B</li>
</ul>
- 项目A
- 项目B
我想知道如何检查类select inline
是否存在于元素渲染中
如果存在,如何将元素选择的css背景更改为蓝色
我创建了一个来重现这个例子
再次抱歉,如果这是一个简单的问题,但我是jQuery新手
如何检查类select inline是否存在于呈现的元素中,如果存在,如何将元素choice的css背景更改为蓝色
文档:
您可以使用.length
检查DOM中是否存在该元素
$('.element rendered.select inline')
将选择元素中具有类select inline
且类元素呈现的所有元素<选择器上的code>.length
将返回匹配元素的数量。所以,大于1的数字表示元素存在。然后可以使用.css
设置内联样式
if($('.element-rendered.select-inline').length){
$('.element choice').css('background','blue');
}
。元素选择{
宽度:100%;
背景:红色;
}
- 项目A
- 项目B
这将适用于您的特定示例
查找“选择线”元素,该元素是渲染元素的子元素。
使用class元素选项查找所有同级元素并应用css
$('.element-rendered>.select-inline').siblings('.element-choice').css('background','blue')
要检查元素是否存在,可以使用.is()
,或者按照@Tushar的建议。length
var container = $(".element-rendered");
// alternatively `!!$(".select-inline", container).length`
$(".select-inline", container).is("*")
&& $(".element-choice", container).css("background", "blue");
jsfiddle如果($('.element rendered.select inline').length){$('.element choice').css('background','blue');}
检查更新的Hey@Tushar再次感谢您!你总是在这里帮助我!哈哈!成功了。你介意回答这个问题吗?这样我就可以标记为正确了。$('.element rendered.select inline')。如果在DOM中找不到元素,css(“背景色”,“红色”)
将(几乎)成为不可操作。你完全可以不检查存在性,因为它不能正常工作。“我的链接”中的选择器与某个元素不匹配,但仍会更改背景颜色。@Diptox jQuery选择器返回一个对象,并且对象总是真实的,即使该对象为空。my fault,请忘记选择器的[0]前面。如果类select inline
存在于渲染的元素中,如果它存在,如何将元素选择的css背景更改为蓝色我建议您使用长度而不是is
,我认为.length
将略快于is
@Tushar添加了使用.length
来提高性能的建议,而不是is()
来发布
var eR = $(".element-rendered");
if (eR.find(".select-inline").length > 0){
eR.find(".element-choice").css("color", "blue");
}
$('.element-rendered>.select-inline').siblings('.element-choice').css('background','blue')
var container = $(".element-rendered");
// alternatively `!!$(".select-inline", container).length`
$(".select-inline", container).is("*")
&& $(".element-choice", container).css("background", "blue");