Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:如何检查元素是否存在并更改css属性_Javascript_Jquery_Css - Fatal编程技术网

Javascript 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 我想知道如何检

首先,如果这是一个简单的问题,很抱歉。我是jQuery新手,我想知道如何检查元素是否存在,如果存在,如何更改css属性

我的意思是:我有以下清单:

<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");