Javascript Jquery选择器不工作:错误:语法错误,无法识别的表达式:a[@href]
还有Javascript Jquery选择器不工作:错误:语法错误,无法识别的表达式:a[@href],javascript,jquery,html,css,Javascript,Jquery,Html,Css,还有$(“div[p]”)css(“背景色”、“绿色”)似乎什么都没做。 这是怎么回事? 根据这些规则,这些规则应该是有效的 //Another file $(document).ready(function() { $("div[p]").css("background-color", "green"); $("a[@href]").css("background-color", "yellow"); }); 现在还不清楚“tutorialspoint”使用的是哪个版
$(“div[p]”)css(“背景色”、“绿色”)代码>似乎什么都没做。
这是怎么回事?
根据这些规则,这些规则应该是有效的
//Another file
$(document).ready(function() {
$("div[p]").css("background-color", "green");
$("a[@href]").css("background-color", "yellow");
});
现在还不清楚“tutorialspoint”使用的是哪个版本的jquery,但是,假设您指的是第17个版本:
$(“div[p]”)
选择与匹配的所有元素,这些元素包含与匹配的元素
这要么是完全错误的,要么是非常过时的(编辑:看起来已经过时10年了……请参见下面的编辑)
也有很多问题,所以问如何实现这一点,他们没有给出这个答案
您应该参考的页面是:
这表明[]
用于匹配属性,例如:
//Another file
$(document).ready(function() {
$("div p").css("background-color", "green");
$("a[href]").css("background-color", "yellow");
});
$(“p[数据id]”)
将匹配所有具有属性数据id
的p
(在本例中不考虑值)
编辑:要解决标题“Unrecogned Expression a[@href]”中的具体问题,请参阅此问题:答案中指出这是2010年过时的“2个版本之前”
所以我猜你的教程页面大概已经过时10年了为什么不给元素p
和a
分配类,并直接用jQuery绑定它们呢?下面给出了一个答案,但我不明白你需要用这个链接做什么…@Shehary问题是语法应该是这样的:我一直在使用jQuery很长一段时间以来,我从未见过像div[p]
这样的选择器。我甚至不知道该怎么解释。它似乎暗示一个对象文字,或者p
是一个属性。我认为你被那个网站引入了歧途。a[@href]
中的@
意味着一个精确的匹配,这意味着你必须为属性包含一个值a[@href=“someval”]
查看此项。css(“背景色”、“绿色”);也应该有效
<div>
<p>This is <strong>first</strong> paragraph</p>
<p>And this one is second</p>
<span><h2>I am p inside span</h2></span>
<h1>I am h1</h1>
</div>
<div name="divName">
<p><a href="www.google.pl">This is a paragraph in second div</a></p>
</div>
//Another file
$(document).ready(function() {
$("div p").css("background-color", "green");
$("a[href]").css("background-color", "yellow");
});
<p data-id='123'>
$("p[data-id]")