标签: selectors-api

querySelector,通配符匹配?

有没有办法使用querySelector或进行通配符元素名称匹配querySelectorAll?我在属性查询中看到了对通配符的支持,但对于元素本身却没有.

我试图解析的XML文档基本上是一个扁平的属性列表,我需要找到名称中包含某些字符串的元素.

我意识到如果我需要这个XML文档可能需要重组,但这不会发生.

除了回到使用明显弃用的XPath(IE9丢弃它)之外的任何解决方案都是可以接受的.

javascript dom selectors-api domparser

99
推荐指数
6
解决办法
9万
查看次数

如何将querySelectorAll仅用于具有特定属性集的元素?

我正在尝试使用document.querySelectorAll具有value属性集的所有复选框.

页面上还有其他没有value设置的复选框,每个复选框的值都不同.但是ID和名称并不是唯一的.

例: <input type="checkbox" id="c2" name="c2" value="DE039230952"/>

如何仅选择已设置值的复选框?

javascript css-selectors selectors-api

95
推荐指数
3
解决办法
14万
查看次数

querySelector搜索直接子节点

我有一些类似jquery的功能:

function(elem) {
    return $('> someselector', elem);
};
Run Code Online (Sandbox Code Playgroud)

问题是我怎么能这样做querySelector()

问题是>选择器querySelector()要求明确指定父级.有没有解决方法?

javascript css-selectors selectors-api

82
推荐指数
6
解决办法
5万
查看次数

使用ID为数字的querySelector

根据我的理解,HTML5规范允许您使用像这样的数字的ID.

<div id="1"></div>
<div id="2"></div>
Run Code Online (Sandbox Code Playgroud)

我可以使用getElementById但不能使用这些querySelector.如果我尝试执行以下操作,我会在控制台中获得SyntaxError:DOM Exception 12.

document.querySelector("#1")
Run Code Online (Sandbox Code Playgroud)

我只是好奇为什么querySelector当HTML5规范说这些有效时,使用数字作为ID不起作用.我试过多个浏览器.

javascript html5 css-selectors selectors-api

76
推荐指数
4
解决办法
6万
查看次数

Javascript .querySelector通过innerTEXT找到<div>

如何找到某些文字的DIV?例如:

<div>
SomeText, text continues.
</div>
Run Code Online (Sandbox Code Playgroud)

试着用这样的东西:

var text = document.querySelector('div[SomeText*]').innerTEXT;
alert(text);
Run Code Online (Sandbox Code Playgroud)

但是当然它不起作用.我该怎么做?

javascript innertext selectors-api

69
推荐指数
7
解决办法
8万
查看次数

为什么JS代码"var a = document.querySelector('a [data-a = 1]');" 导致错误?

我在DOM中有一个元素:

<a href="#" data-a="1">Link</a>

我想通过其HTML5自定义数据属性获取此元素data-a.所以我写JS代码:

var a = document.querySelector('a[data-a=1]');

但是这段代码不起作用,我在浏览器的控制台中出错了.(我测试了Chrome和Firefox.)

JS代码var a = document.querySelector('a[data-a=a]');不会导致错误.所以我认为问题是HTML5的JS API document.querySelector不支持在HTML5自定义数据属性中查找数值.

这是浏览器实现错误或HTML5规范相关问题document.querySelector吗?

然后我在http://validator.w3.org/上测试了以下代码:

<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML Document</title>
<a href="#" data-a="1">Link</a>
Run Code Online (Sandbox Code Playgroud)

他们已经过验证.由于这些HTML5代码已经过验证.我们应该使用HTML5的JS API document.querySelector通过其自定义数据属性来查找此锚元素.但事实是我得到了错误.

HTML5对HTML5 JS API的规范是否document.querySelector说该方法无法查找具有数值的HTML5数据自定义属性?(需要HTML5规范源.)

javascript html5 css-selectors selectors-api custom-data-attribute

59
推荐指数
2
解决办法
8万
查看次数

通过JavaScript更改CSS伪元素样式

是否可以通过JavaScript更改CSS伪元素样式?

例如,我想动态设置滚动条的颜色,如下所示:

document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color");
Run Code Online (Sandbox Code Playgroud)

而且我也希望能够像这样告诉滚动条隐藏:

document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden";
Run Code Online (Sandbox Code Playgroud)

但是,这两个脚本都返回:

未捕获的TypeError:无法读取null的属性'style'

还有其他方法可以解决这个问题吗?
跨浏览器的互操作性并不重要,我只需要它在webkit浏览器中工作.

javascript css css-selectors pseudo-element selectors-api

54
推荐指数
6
解决办法
6万
查看次数

如何删除使用querySelectorAll获取的元素?

他看起来像是一个快速回答的东西,但我找不到一个.也许我在搜索错误的条款?没有图书馆,虽然我不需要跨浏览器的后备,但我的目标是该项目的所有最新版本.

我得到了一些元素:

element = document.querySelectorAll(".someselector");
Run Code Online (Sandbox Code Playgroud)

YEY!

如何删除这些元素?我错过了什么?我是否必须遍历它们并做这element.parentNode.removeChild(element);件事,或者是否有一个我缺少的简单功能?

javascript element selectors-api

46
推荐指数
3
解决办法
3万
查看次数

我可以在querySelectorAll中使用正则表达式吗?

在我正在做的页面上,我将以这样的自定义link元素结束:

<link rel="multiply" type="service/math" src="path/to/service">
<link rel="substract" type="service/math" src="path/to/service">
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用指定querySelectorAll类型检索所有链接元素service/...并且无处可去.

目前我选择这个:

root.querySelectorAll('link');
Run Code Online (Sandbox Code Playgroud)

<link>当我只想要有类型的那些时,它给了我所有的元素service/.*

问题:
我可以在QSA选择器中添加正则表达式吗?如果是这样,怎么办?

javascript regex hyperlink selectors-api

39
推荐指数
3
解决办法
2万
查看次数

使用querySelectorAll().订购的方法返回的结果是?

我正在尝试制作一个适用于多个页面的js代码.我正在尝试使用querySelectorAll()从DOM中获取元素.

我需要订购的元素.为了做到这一点,我可以使用xPath或选择器(我更喜欢使用选择器,但xPath也可以).问题是:
querySelectorAll()返回的NodeList中的元素是否按照标记在HTML中出现的顺序排序?

注意:我想添加标签:querySelectorAll

javascript css css-selectors selectors-api

32
推荐指数
1
解决办法
6886
查看次数