`
leavingme
  • 浏览: 25756 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Prototype框架之$$函数

阅读更多
$$是prototype框架里的一个亮点了,也是一种快捷方式,通过它可以根据css样式选择页面中的元素,它支持以下几种css选择方式。 $支持的css选择符
  • 元素标签(tag)。$$("li")
  • 元素ID,id前要加#。$$("#div_test")
  • css类,类名前加.。$$(".style1")
  • 元素是否具有某个属性。$$("a[class]")
  • 元素的某个属性是否符合特定的条件。$$("a[class='style1']")
  • 以上的css选择符可以自由组合,形成一个复合的css选择符,中间不要有空格。如下:$$("a#link[class='link']")表示id为"link",class为".link"的链接元素(A)。
  • 不同的css选择符(以上所有)之间用空格分隔,就组成一个多层的css选择符。如:$$(div p[class='js'])

以上内容的参考:《征服Ajax--dojo、prototype、script.aculo.us框架解析与实例》

$$()函数是Prototype 1.5新增的一个快捷方式,它允许开发人员通过CSS样式选择页面中的元素。熟悉XPath的读者会发现,CSS选择符在语法形式上和XML文档的XPath十分类似,Prototype支持的CSS选择符包括以下几种类型:

l  元素标签名称,例如:$$(“li”)。

l  元素ID,例如:$$(“#fixtures”)。

l  CSS类名,例如:$$(“.first”)。

l  元素是否具有某个属性,例如:$$(“h1[class]”)。

l  元素的某个属性是否符合特定的条件,例如:$$('a[href="#"]')、$$('a[class~="internal"]')、$$('a[href!=#]')。

l  上面所有这些CSS选择符的类型可以自由组合,形成一个复合的CSS选择符,例如:$$('li#item_3[class][href!="#"]')。

l  不同的CSS选择符(包括复合CSS选择符)之间用空格分隔,就组成了一个多层的CSS选择符,它通过指定目标元素的父节点甚至更多层父节点的CSS样式属性来定位目标元素。例如:$$('div[style] p[id] strong')。

例2-8给出了一个$$()函数的测试页面示例,读者可以在该页面中输入不同的CSS选择符表达式,测试结果。

例2-8  $$()函数测试页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    
<title>chapter 3</title>
    
<style type="text/css" media="screen">
        
/* <![CDATA[ */#testcss1
        
{
            font-size
: 11px;
            color
: #f00;
        
}
        #testcss2
        
{
            font-size
: 12px;
            color
: #0f0;
            display
: none;
        
}
        
/* ]]> */</style>

    
<script type="text/javascript" language="javascript" src="prototype.js"></script>

    
<script>

        
function test() {

            
// 根据输入的CSS选择符,切换相应元素的显示

            $$($F(
'csspath')).each(

                
function(item) {

                    Element.toggle(item);

                }

            );

        }

    
</script>

</head>
<body>
    
<form>
    
<div id="fixtures">
        
<h1 class="title">
            Some title 
<span>here</span></h1>
        
<id="p" class="first summary">
            
<strong id="strong">This</strong> is a short blurb
            
<!-- 该页面元素具备 first和internal两种CSS样式-->
            
<id="link_1" class="first internal" href="#">with a link</a> or <id="link_2"
                class
="internal highlight" href="#"><em id="em">two</em> </a>.
        
</p>
        
<ul id="list">
            
<li id="item_1" class="first"><id="link_3" href="#" class="external"><span id="span">
                Another link
</span> </a></li>
            
<li id="item_2">Some text</li>
            
<li id="item_3" xml:lang="es-us" class="">Otra cosa</li>
        
</ul>
    
</div>
    
<input type="text" value="" id="csspath" />
    
<input type="button" value="click" onclick="test()" />
    
</form>
</body>
</html>

例2-8的运行页面如图2-2所示,在文本输入框中输入一个CSS选择符(例如“.title”),点击“click”按钮即可切换相应的页面元素(即Some title here)的显示/隐藏状态。
   
 (a)  在文本输入框中输入CSS选择符“.title” (b)  页面元素“Some title here”隐藏

图2-2  $$函数应用示例

分享到:
评论

相关推荐

    prototype框架

    Prototype框架是JavaScript编程中的一种流行库,主要用于简化DOM操作、事件处理、Ajax交互以及对象创建。这个框架由Sam Stephenson于2005年创建,是早期JavaScript开发者的常用工具,尤其是在构建动态Web应用程序时...

    Prototype框架详解

    Prototype框架是一种广泛使用的JavaScript库,它为JavaScript编程提供了一系列实用的功能,增强了JavaScript的面向对象特性。这个框架的主要目标是简化DOM操作,提供更强大的函数工具,并优化JavaScript代码的可读性...

    Prototype框架常用方法简介

    Prototype框架是JavaScript中一个强大的库,它为JavaScript开发提供了许多便利的功能,特别是在对象原型扩展、事件处理、Ajax交互等方面。本文将详细介绍Prototype框架中的几个常用方法,并通过实例进行解析。 1. *...

    jquery bootstrap prototype框架

    Prototype的Class和Function扩展让JavaScript的类和函数更具表现力,但与jQuery相比,Prototype在现代Web开发中的使用相对较少,因为jQuery的流行和更广泛的支持。 在实际开发中,这三个框架往往结合使用,jQuery...

    Ajax最全页面验证-基本prototype框架

    本文将深入探讨Ajax在表单验证中的应用,特别是基于Prototype框架的实现方式,以及动态验证的重要性。 一、Ajax基础 Ajax的核心是通过JavaScript与服务器进行异步通信,无需刷新整个页面就能获取或更新数据。它由...

    prototype框架中美元符号$用法分析

    本文将深入探讨Prototype框架中`$`、`$$`、`$A`、`$F`、`$H`和`$R`等函数的用法。 1. **`$`函数**:在Prototype中,`$`函数通常用于获取DOM元素,它的行为类似于`document.getElementById`。例如,`$("test")`会...

    js 框架 prototype 的帮助文档

    Prototype框架将这种语言特性进一步发展,提供了一套完整的解决方案来构建复杂的应用程序。 `js prototype框架`的核心特性包括: 1. **对象创建与继承**:Prototype 使用`Object.extend()`方法实现对象的创建和...

    prototype-1.5.0框架.rar

    Prototype 框架由 Sam Stephenson 在 2005 年创建,它的主要目标是通过提供一组实用的函数和类来增强 JavaScript 的能力,使开发者能够更高效地编写跨浏览器兼容的 JavaScript 代码。在 1.5.0 版本中,Prototype ...

    jQuery、Mootools、Prototype三大JavaScript框架中文手册

    Prototype是最早的JavaScript框架之一,对DOM操作有着深入的优化。其关键特性包括: 1. **$()选择器**:Prototype使用`$()`作为基本选择器,类似于jQuery,但功能略有不同。 2. **Prototype对象**:扩展了...

    prototype 小程序

    这个标签包含了几个关键的技术领域:Ajax、Java以及Prototype框架。虽然“Java”在这里可能指的是JavaScript(因为JavaScript经常与Ajax技术一起用于前端开发,而并非Java后端语言),我们将主要探讨JavaScript的...

    prototype 1.6中文手册 chm+prototype 1.6.js源码 最新版

    这个“Prototype 1.6中文手册 chm+prototype 1.6.js源码 最新版”正是面向希望深入学习和掌握Prototype框架的开发者们的重要资源。 Prototype 1.6中文手册: 手册详细介绍了Prototype框架的1.6版本,这是一个非常...

    prototype js 框架

    在学习Prototype框架时,可以参考压缩包中的文件,例如查看示例代码,了解如何在实际项目中应用这些功能。同时,理解Prototype的源码也是提升JavaScript技能的好方法,因为它展示了如何优雅地扩展JavaScript语言。...

    ajax 框架 prototype

    Prototype是最早的JavaScript库之一,它以强大的DOM操作和类系统著称。Prototype的核心是其对JavaScript原生对象的扩展,如Array、String和Function,这使得开发者可以更加方便地处理数据和编写代码。在Ajax方面,...

    PrototypeJavaScript框架

    以下是对Prototype框架核心特性和功能的详细解释: 1. **对象扩展与原型链增强**: Prototype通过扩展JavaScript的原型链来实现类和对象的继承。它提供了一个`Class.create()`方法,用于创建新的类,并且支持多重...

    js框架prototype-1.6.0.3.js

    在本讨论中,我们将深入探讨Prototype框架的1.6.0.3版本及其API。 Prototype的核心理念是增强JavaScript的基本对象,如Array、String、Function等,以提供更强大的功能。例如,它通过添加新的方法如`each`、`map`和...

    protoType.ppt

    ### ProtoType框架介绍 ProtoType 是一个基于JavaScript的Ajax开发框架,它包含了丰富的函数和工具,使得开发者能够高效地处理DOM操作、事件监听、HTTP请求以及数据转换等任务。由于其设计精巧,代码编写简洁,...

    Js框架Jquery prototype 帮助文档

    **jQuery与Prototype:JavaScript框架深度解析** 在Web开发领域,jQuery和Prototype是两个非常流行的JavaScript库,它们都致力于简化DOM操作、事件处理、Ajax交互以及动画效果。这两个框架各有特色,为开发者提供了...

Global site tag (gtag.js) - Google Analytics