如何 select HTML 类型中有破折号的元素

How to select HTML elements whose type has a dash in them

$('foo\-bar') 有效。

我想做 $('foo\-bar', '<foo-bar>foobar</foo-bar>'),但这行不通。为什么?我如何 select 我的字符串中的所有 foo-bar 标签?

您不需要转义破折号。只需使用

$("foo-bar")

document.querySelector("foo-bar")

$('foo\-bar', '<foo-bar>foobar</foo-bar>') 不起作用,因为上下文(第二个参数)也是您上下文中的根元素,这就是为什么找不到 foo-bar 作为上下文 [= 的子元素的原因23=].

另一方面这会起作用:

$("foo-bar", "<div><foo-bar></foo-bar></div>")