Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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_Jquery_Css_Dom - Fatal编程技术网

Javascript 如何找到元素的所有可能的CSS样式和属性?

Javascript 如何找到元素的所有可能的CSS样式和属性?,javascript,jquery,css,dom,Javascript,Jquery,Css,Dom,有一些方法可以获取使用style或class属性设置的DOM元素的所有CSS样式。这非常有效,但是如果类未设置为该元素,则无法找到可以设置为该元素的类 现在我正在寻找一种方法来获取所有可能设置为这个DOM元素的CSS类和样式。我尝试过使用RegExp,但它并不完美,因为我不确定如何搜索文档样式节点并将其与DOM节点进行比较。这怎么可能 我需要的示例: <div class="set"> <p class="anotherclass">some text</p&g

有一些方法可以获取使用style或class属性设置的DOM元素的所有CSS样式。这非常有效,但是如果类未设置为该元素,则无法找到可以设置为该元素的类

现在我正在寻找一种方法来获取所有可能设置为这个DOM元素的CSS类和样式。我尝试过使用RegExp,但它并不完美,因为我不确定如何搜索文档样式节点并将其与DOM节点进行比较。这怎么可能

我需要的示例:

<div class="set">
  <p class="anotherclass">some text</p>
  <p class="otherClass">some text</p>
</div>
如您所见,我想用jQuery设置所有具有特殊名称的css类。使用regexp我可以找到类名,但我不知道如何检查它需要设置为哪个dom元素(html标记)


谢谢你的帮助

您可以使用jQuery$.contains()检查找到的元素是否在其他元素的内部

更多信息请参见此处如何执行此操作:

因此,对于您的示例,要查找某些已找到的类是否在集合内部,您可以执行以下操作:

$.each(foundElement, function(index, domElement){
    if($.contains(domElement, $('.set'))) {
        // domElement is inside the container with 'set' class
    } else {
        // domElement is not inside the container with 'set' class
    }
});

如果我对问题的理解正确:

$(".class *")
选择类为
class

$(".class").find(element).length === 0

检查元素是否位于类为
class

的元素内您是否试图获取元素的所有继承CSS规则?是的,我想:)我想查找所有CSS规则(在and和style=“…”等中),这些规则可能可以设置或用于由特殊表达式命名的给定元素(autoSet_…或其他)。但目前还没有为给定的元素设置。这个问题太模糊了。什么是“CSS样式和属性”?你是说CSS属性,还是别的什么?什么是“CSS类”?你是说HTML类吗?(CSS没有类,只有类选择器。)您在jQuery或JavaScript中尝试过做什么?这个问题似乎没有任何意义,任何类都可以应用于任何元素。我不认为,正如问题所写(当然,我可能误解了你的意图),有任何明确的答案可以给出。你能给出说明性的输入/输出吗?对不起,我不适合用英语描述:)请看一下上面的CSS示例。我想在CSS文件中找到所有HTML类,对于所选的HTML标记(如P),该文件以“.autoSet_……”开头。就像我说的“$('body>p')。getPossibleCSS()->将返回我。autoSet_findMeToSet…$('body div>p:first child')。getPossibleCSS()将从div>p:first-child.autoSet_-yeah重新运行me.autoSet_findMeToSet和.autoSet_yeah,因此p标记不能在DOM中设置class属性,但我需要在css中找到可以设置为该属性的类集(.autoSet_…)谢谢你的回答,但我认为这不是解决方案。因为我不知道某个类的名称。我只知道某个元素,我需要知道可以为该元素设置哪些类和样式(但目前还没有设置)
$(".class").find(element).length === 0