querySelector() - 第一个内部元素

Eli*_*ion 2 javascript jquery svg jquery-selectors selectors-api

我正在使用SVG.js select()函数,该函数使用querySelector()函数.

目前,我使用的命令是:select("[id='1']")(1可以被其他一些数字替换)

我想做的是选择这个元素中的第一个内部元素.或者,我可以通过标签名称来选择它.

怎么做?

我试过select("[id='1']:first")但收到了错误.

顺便说一句,我选择它的原因是,显然querySelector有一个id为数字的问题.

T.J*_*der 5

:first是一个jQuery的东西.对于你正在做的事情,你可以使用:first-child,这是一个CSS的东西:

select("[id='1'] > :first-child");
Run Code Online (Sandbox Code Playgroud)

该选择器匹配作为元素的第一个子元素的所有元素id="1",但如果在封面下select使用querySelector,则将获得第一个这样的元素.

请注意,>那就是儿童组合子:这意味着我们正在寻找:first-child内部组合[id='1'].(使用此答案的早期版本[id='1'] :first-child,它使用后代组合子 [只是空白].选择元素列表很重要,但如果只选择第一场比赛则不重要.)(你需要一个或另一个,因为没有任何组合器([id='1']:first-child)它会看到第一个[id='1']也是:first-child.)

  • @Elimination:在:之后放下那个空格. (2认同)
  • @Elimination:正如BoltClock所说,`:first-child`与`:first-child`不同.空格在CSS选择器中是重要的**(`div.foo`和`div .foo`和`div.foo`也是不同的,例如;最后一个无效). (2认同)