当前位置: 首页 > 面试题库 >

获取元素的CSS选择器(如果没有ID)

锺离嘉茂
2023-03-14
问题内容

我正在尝试通过JavaScript /
CSS修改页面(很像Fashiony或Greasemonkey一样)。这是一个非常复杂的页面(我没有构建或无法修改预渲染),这使得构造CSS选择器变得很困难(手动查看文档结构)。我该如何实现?


问题答案:

在安装了FireBug的情况下使用FireFox。

  • 右键单击任何元素
  • 选择“检查元素”
  • 右键单击HTML树中的元素
  • 选择“复制XPath”或“复制CSS路径”

此答案的永久链接的输出(XPath):

/ html / body / div [4] / div [2] / div [2] / div [2] / div [3] / table /
tbody / tr / td [2] / table / tbody / tr / td / div /一个

CSS路径:

html body.question-page div.container div#content div#mainbar div#answers
div#answer-4588287.answer表tbody tr td table.fw tbody tr td.vt div.post菜单a

但是关于这个评论:

我的最终目的是为对象创建一个CSS选择器…

如果这是您的意图,那么可能有一种更简单的JavaScript方法:

var uniquePrefix = 'isThisUniqueEnough_';
var counterIndex = 0;
function addCssToElement(elem, cssText){
    var domId;
    if(elem.id)domId=elem.id;
    else{
        domId = uniquePrefix + (++counterIndex);
        elem.id = domId;
    }
    document.styleSheets[0].insertRule("#"+domId+"{"+cssText+"}");
}

对于不同的浏览器,最后一行可能需要不同地实现。没有测试。



 类似资料:
  • 问题内容: 我正在寻找一个选择器,如果它们具有特定的子元素,它将选择所有元素。例如,选择所有带孩子的人。 可能? 问题答案: 如果元素包含特定的子元素,是否可以选择? 不幸的是还没有。 在CSS2和CSS3选择器的规格不允许任何形式的亲本选配。 关于规格变更的注意事项 从现在开始,这是关于此帖子准确性的免责声明。CSS中的父选择器已经讨论了很多年。由于尚未达成共识,因此变化不断发生。我将尝试使此答

  • 问题内容: 我正在处理CSS文件,发现需要设置文本输入框的样式,但是,我遇到了问题。我需要一个匹配所有这些元素的简单声明: …但不符合以下条件: 这是我想做的: 在上述CSS中,请注意第一个选择器是。我的意思是我要选择未指定type属性的所有输入框(因为它默认为文本,但不匹配)。不幸的是,我找不到CSS3规范中的此类选择器。 有人知道实现此目标的方法吗? 问题答案: :不是 选择器

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • 问题内容: 我很难找到从jquery选择器中获取实际DOMElement的时间。样例代码: 在另一段代码中,我试图确定复选框的选中值。 而且,我不想做: 这使我无所适从,但有时我需要真正的DOMElement。 问题答案: 您可以使用以下方法访问原始DOM元素: 或更简单地说: 实际上,根据我的经验,实际上并不需要很多。以您的复选框为例: 更“ jquery’ish”和(imho)更简洁。如果要给

  • 问题内容: 我今天一直在测试Javascript CSS函数,并注意到当使用.style.cssText时,它仅提供了我用JS设置的CSS。 相反,我想获取元素的所有CSS,所以我猜我在做错什么,或者可能需要另一个函数,例如getComputedStyle,但要使用整个CSS而不是单个属性值,但是我找不到搜索时需要的东西。 所以我的问题是如何从代码的最后部分获得完整的CSS,例如: 而不是当前输出

  • 问题内容: 如何使用选择器在CSS中选择元素的上述元素 在这里,我想使用class ,以便可以使用CSS选择器获取上述元素。 问题答案: 纯CSS不可能做到这一点…