所以我们想要在列表中访问-n + 3个 li元素(如果在li我们想要访问的元素之前有不同类型的元素是我们不关心的细节),我使用以下方式:
<html>
<body>
<style>
li:nth-child(-n+3) {
background: #ff0000;
}
</style>
<p>An unordered list:</p>
<ul>
<h1>heading</h1>
<li>coffee</li>
<li>tea</li>
<li>water</li>
<li>coca-cola</li>
<li>sprite</li>
<li>orange juice</li>
<li>beer</li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它工作正常,但在Explorer 8及更早版本中,nth-child()不支持选择器.那么如何在不使用伪类的情况下访问-n + 3 li元素nth-child()呢?
所以我们有以下关于not()和p:first-child{}selectors的例子.这是一个例子:
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child{
color: red;
}
p:not(a){
color: green;
}
</style>
</head>
<body>
<p>This a paragraph.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
为什么段落最后是红色的?有人可以解释(如果可能的话)为什么 p:first-child{}比not()选择器具有更大的特异性???
因此,我想使用Js创建一个简单的货币转换器,我想通过创建列表与5个可用硬币(美元,欧元,GPB,澳元和日元),用户必须从第一个列表中选择他想要转换的硬币和在第二个清单上,他必须选择他想要的硬币货币.这就是我迄今所做的:
function calculate() {
var amount = parseFloat(document.getElementById("amount").value);
var select = document.getElementById("select");
var select1 = document.getElementById("select1");
var result = document.getElementById("result");
if (select.value === "USD") && (select1.value === "USD") {
result.value = (amount * 1);
}
if (select.value === "USD") && (select1.value === "EUR") {
result.value = (amount * 0.88);
}
if (select.value === "USD") && (select1.value === "AUD") {
result.value = (amount * 1.37);
}
if (select.value === "USD") && (select1.value === "GBP") {
result.value = (amount * 0.69);
} …Run Code Online (Sandbox Code Playgroud)让我们说我想用en来为所有开始语言属性的单词着色.到目前为止我是如何做到的:
<!DOCTYPE html>
<html>
<head>
<style>
[lang|=en] {
background: yellow;
}
</style>
</head>
<body>
<p lang="en">This is English!</p>
<p lang="en-us">This is English and US!</p>
<p lang="en-gb">English here too!</p>
<p lang="us">US is not English!</p>
<p lang="no">Definitely not English !</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如何在 不使用[attribute | = value]选择器或lang()伪类的情况下访问其lang属性值为en的所有元素.有办法吗?