可配置式通用报表设计外文翻译资料

 2022-10-10 02:10

英语原文共 486 页,剩余内容已隐藏,支付完成后下载完整资料



2.1.2 使用基本css选择器

对于将样式应用到页面元素中,web开发者们已经对一系列为数不多但是强大并且非常有用、跨所有浏览器工作的选择表达式非常熟悉了。这些表达式可以通过一个元素的ID、css类名、标签名以及页面元素的DOM包含层次进行选择。

表2.1提供了一些例子来帮助你进行一个快速复习。我们可以混合匹配这些基本选择器类型,来确认相当细化的元素集合。

表2.1 一些简单的CSS选择器例子

举例

描述

a

匹配所有链接(lt;agt;)元素

#specialID

匹配id值为specialID的元素

.specialClass

匹配所有拥有specialClass类的元素

a#specialID.specialClass

匹配id值为specialID并且拥有specialClass类的链接元素

p a.specialClass

匹配所有属于lt;pgt;元素后代并且有specialClass类的连接元素

使用jQuery,我们可以轻松使用已经用惯的css选择器进行元素选择。用jQuery选择元素,要用${}来包含住选择器,像这样:

${“p a.specialClass”}

除去个别例外,jQuery完全兼容CSS3,所以这种方式选择元素并没有任何意外;样式表中能被标准兼容浏览器选中的元素同样可以被jQuery选择器引擎选中。需要注意的是,jQuery不依赖其正运行着的浏览器上的CSS实现。即使这个浏览器没有正确实现标准CSS选

择器,jQuery也会依据World Wide Web Consortium(W3C,万维网协会)标准正确选择元素。

jQuery也允许我们使用逗号运算符将多重选择器结合到单个表达式中。举例来说,要选中所有lt;divgt;和所有lt;spangt;元素,你可以这样做:

${lsquo;div,spanrsquo;}

为了练习,使用Selectors Lab并且用基本CSS选择器进行一些实验,直到你对它们感到顺手了。

这些基本选择器是强大的,但是有时我们需要对一些我们想要匹配的元素进行更加细化的控制。jQuery开始使用更加高级的选择器来面对这些挑战。

2.1.3 使用子选择器,容器选择器和属性选择器

为了更高级选择器,jQuery采用了Mozilla Firefox,Internet Explorer 7、8,Safari,Chrome和其他现代浏览器支持的CSS。这些高级选择器允许我们去选择一些元素的直接子元素,DOM中挨着其他元素出现的元素和属性满足一定条件的元素。

有时,我们只想选择一个特定元素的直接子元素。举例来说,我们也许想要选择一些列表下的一级列表元素,但是不包括属于子列表的列表元素。考虑下列来自Selectors Lab的示例DOM的HTML片段:

lt;ul class='myList'gt;

lt;ligt;lt;a href='http://jquery.com'gt;jQuery supportslt;/agt;

lt;ulgt;

lt;ligt;lt;a href='css1'gt;CSS1lt;/agt;lt;/ligt;

lt;ligt;lt;a href='css2'gt;CSS2lt;/agt;lt;/ligt;

lt;ligt;lt;a href='css3'gt;CSS3lt;/agt;lt;/ligt;

lt;ligt;Basic XPathlt;/ligt;

lt;/ulgt;

lt;/ligt;

lt;ligt;jQuery also supports

lt;ulgt;

lt;ligt;Custom selectorslt;/ligt;

lt;ligt;Form selectorslt;/ligt;

lt;/ulgt;

lt;/ligt;

lt;/ulgt;

假设我们想要选择前往远端jQuery网站的链接,但不要各种描述不同CSS样式的本地页面的链接。使用基本CSS选择器,我们也许会试着这样ul.myList li a。不幸的是,这个选择器会抓取所有链接,因为它们都是一个列表元素的后代。

图2.3 所有属于lt;ligt;元素后代的链接标签,无关层次,都会被ul.myList li a选择器选中

你可以通过在Selectors Lab中输入ul.myList li a并且点击确认来验证。结果显示如图2.3。

一个更加高级的方法是使用子元素选择器,即在父元素和它的直接子元素之间用右尖括号(gt;)隔开,例如:

p gt; a

这个选择器仅匹配lt;pgt;元素的直接子元素链接。如果一个链接被嵌套得更深,比如在lt;pgt;内的lt;spangt;内,则这个连接不会被选中。

回到我们的例子中,思考下这个选择器:

ul.myList gt; li gt; a

这个选择器仅选择同样作为有myList类的ul元素的直接子元素的列表元素的直接子元素。子列表中包含的链接并没有被包含,因为作为子列表lt;ligt;的父节点的lt;ulgt;元素,没有myList类,正如图2.4中显示的Lab中的结果。

属性选择器也非常强大。假设我们只想要给指向你的网站外的地址,附加一个特殊的动作。让我们再看看我们之前测试过的那部分Lab上的例子。

lt;ligt;lt;a href='http://jquery.com'gt;jQuery supportslt;/agt;

lt;ulgt;

lt;ligt;lt;a href='css1'gt;CSS1lt;/agt;lt;/ligt;

lt;ligt;lt;a href='css2'gt;CSS2lt;/agt;lt;/ligt;

lt;ligt;lt;a href='css3'gt;CSS3lt;/agt;lt;/ligt;

lt;ligt;Basic XPathlt;/ligt;

lt;/ulgt;

lt;/ligt;

图2.4 使用选择器ul.myList gt; li gt; a,只有父节点的直接子元素被匹配了

使链接指向唯一外部网站的是链接的href属性值字符串头部的http://。我们可以用下列选择器选择有以http://开头的href值的链接:

a[href^=rsquo;http://rsquo;]

这会匹配所有href值以http://开头的链接。脱字符号(^)用来指定匹配的内容在值的首部。作为大多数正则表达式用来匹配候选字符串开头的符号,这应该是很容易记住的。

再次访问Lab页面(之前的HTML片段摘取的地方),输入a[href^=rsquo;http://rsquo;]到输入框中,点击Apply按钮。注意只有jQuery链接是高亮显示的。

还有其他的使用属性选择器的方法。匹配一个拥有特殊属性的元素,不管它的值,我们可以使用

form[method]

这会匹配任何一个清楚有method属性的lt;formgt;元素。

要匹配一个特殊属性值,我们用像这样的选择器:

Input[type = lsquo;textrsquo;]

这个选择器会匹配全部type值为text的lt;inputgt;元素。

我们已经看过“匹配属性首部值”选择器的作用,这里有另外一个:

div[title^=rsquo;myrsquo;]

这会选择所有title属性值以rsquo;myrsquo;开头的lt;divgt;元素。

那么“属性值结尾”的选择器呢?马上来:

a[href$=rsquo;.pdfrsquo;]

这是一个用来定位所有PDF文件引用链接的有用选择器。

并且这里有一个用来定位属性值内任何位置包含任意字符串的元素的选择器:

a[href*=rsquo;jquery.comrsquo;]

如我们预期,这个选择器匹配所有引用jQuery网站的lt;agt;元素。

表2.2展示了jQuery中可以使用的基本CSS选择器。

这些知识在手,请前往Selectors Lab页面,并且花费更多时间使用各种表2.2中的选择器做点实验。尝试做些针对性的选择,像包含lsquo;Hellorsquo;和lsquo;Goodbyersquo;文本的lt;spangt;元素(提示:你需要结合多种选择器来完成这个工作)。

假如你认为我们至今讨论的选择器还不够强大,这里有更多的选择来提供我们更加精细的能力去切割页面。

表2.2 jQuery支持的基本CSS选择器

选择器

描述

*

匹配任何元素。

E

匹配所有标签名为E的元素。

E F

匹配所有标签名为F的E的子代。

Egt;F

匹配所有标签名为F的E的直接子节点。

E F

匹配标签名为F的E后的第一个兄弟节点。

E~F

匹配标签名为F的E后的所有兄弟节点。

E.C

匹配标签名为E并且有C类的所有元素。省略E则跟*.C相同。

E#I

匹配标签名为E并且id为I的所有元素。省略E则跟*#I相同。

E[A]

匹配标签名为E并且有属性A但不论其值的所有元素。

E[A=V]

匹配标签名为E并且有值为V的属性A的所有元素。

E[A^=V]

匹配标签名为E并且有值以V开头的属性A的所有元素。

E[A$=V]

匹配标签名为E并且有值以V结尾的属性A的所有元素。

E[A!=V]

匹配标签名为E并且有值不等于V的属性A的所有元素。

E[A*=V]

匹配标签名为E并且有值中包含V的属性A的所有元素。

2.1.4 通过位置来选择

有时候,我们需要通过元素在页面上的位置或与其他元素的关系来选择这些元素。我们也许需要选择页面上的第一个链接,或每个段落,或每个列表的最后一个列表项。jQuery支持实现这些特殊选择的机制。举例来说,考虑下:

a:first

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[151634],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。