Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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列表上使用CSS选择器?_Javascript_Contains - Fatal编程技术网

如何在javascript列表上使用CSS选择器?

如何在javascript列表上使用CSS选择器?,javascript,contains,Javascript,Contains,为什么这不起作用 var animals = ['Cat', 'Dog'].valueOf; if ("animals:contains(Cat)") { // ... } 您要使用以下命令: 任何不为空的字符串都将为空,因此如果执行ifsome字符串,if的主体将始终运行。在Javascript中,不能在数组上使用CSS选择器。可以使用indexOf查看数组中是否存在特定字符串 if (animals.indexOf('Cat') > -1) { console.log(

为什么这不起作用

var animals = ['Cat', 'Dog'].valueOf;

if ("animals:contains(Cat)") {
    // ...
}
您要使用以下命令:


任何不为空的字符串都将为空,因此如果执行ifsome字符串,if的主体将始终运行。

在Javascript中,不能在数组上使用CSS选择器。可以使用indexOf查看数组中是否存在特定字符串

if (animals.indexOf('Cat') > -1) {
  console.log('We have kitties.')
}

在Javascript中真正使用CSS选择器的唯一时间是在查询DOM时。

看起来您想要的是:

JSONSelect定义了一种在语法和结构上与 CSS3选择器。JSONSelect表达式是可以 与JSON文档匹配

注意:contains不是标准的CSS psedo类,但JSONSelect将其作为扩展提供

动物变量=[‘猫’、‘狗’]; 如果JSONSelect.match':containsCat',anivers.length//truthy 文件。写“有一只猫”; 如果JSONSelect.match':containsElephant',anivers.length//falsy 文件。写“有一头大象”;
javascript对css一无所知。您需要使用javascript函数,而不是css选择器。您使用的是什么HTML,您希望得到什么结果?至于你的if,看起来你想使用if动物。indexOf'cat'>-1,使用。但它不起作用的原因是,JavaScript不是这样使用的。换句话说,我需要的是:如果它包含另一个元素的CSS更改
if (animals.indexOf('Cat') > -1) {
  console.log('We have kitties.')
}