资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

实现jquery,实现中华民族伟大复兴是中华民族近代以来最伟大的梦想

用Jquery方法怎样实现

我给你写一个jQuery遍历HTML元素的案例,自己应用到代码上吧

成都创新互联公司是一家专注于成都网站设计、做网站与策划设计,银川网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:银川等地区。银川做网站价格咨询:18982081108

div id="listcontact"

ul

lia href="#"·账户余额/a/li

lia href="#"·账户充值/a/li

lia href="#"·账户明细/a/li

/ul

/div

script

var Aobj=$("#listcontact li");

for(var a=0;aAobj.length;a++){

alert(Aobj[a].innerHTML);

}

/script

这是我空间自己整理的关于jQuery选择器的文章 有兴趣可参考下

如何利用jquery库实现

和普通js文件一样导入就可以用了,不用安装

script type="text/javascript" src="./jquery-1.3.2.js"/script

scr=""中间为jquery的js文件的路径

jquery选择器是怎么实现的

JQuery中的选择器完全继承了CSS得风格。在学习JQuery选择器之前首先要了解CSS常用选择器。

虽然JQuey选择器的写法与CSS选择器的写法十分相似,只不过两者的作用效果不用,CSS选择器找到元素后是添加样式,而JQuery选择器找到元素后是添加行为。

CSS获取到元素的代码如下:

.demo{

... //给class为demo的元素添加样式。

}

JQuery获取到的元素的代码如下:

$(".demo").click(function(){

.... //给class为demo的元素添加行为。

用jQuery如何实现

!DOCTYPE HTML

html lang="en"

head

meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /

meta http-equiv="Content-Type" content="text/html;charset=UTF-8"

titletest/title

link rel="stylesheet" href="css.css" type="text/css" media="screen"

script src=""/script

/head

body

style type="text/css"table tr td{border:1px solid #ddd;padding:15px;text-align: center;background: #f3f3f3}input{text-align: center;}/style

div/div

div/div

table id="t"

tr

td/tdtdname/tdtd单价/tdtd数量/tdtd总价/tdtddel/td

/tr

tr

td1/tdtdhtc/tdtd¥span1395.00/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td2/tdtdapple/tdtd¥span5555.00/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td3/tdtdMac/tdtd¥span9999/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td COLSPAN='6'合计:¥span/span/td

/tr

/table

input type="button" value="加一行" onclick="tr_more()"

script type="text/javascript"

$(function(){

heji();

})

function heji(){

var tr=$("#t").find("tr").length;

var total=0;

for(i=1;itr-1;i++){//略过第一行和最后一行

var price=$('table#t tr:eq('+i+') td:eq(2)').find('span').html();

var num=$('table#t tr:eq('+i+') td:eq(3)').find('input:eq(1)').val();

$('table#t tr:eq('+i+') td:eq(4)').find('span').html('¥'+eval(price*num));

total=eval(total+eval(price*num));

}

$('table#t tr:eq('+eval(tr-1)+') td').find('span').html(total);

}

function less(e){

var num=$(e).parent().find('input:eq(1)').val();

if(num=0){num=0}else{num--}

$(e).parent().find('input:eq(1)').val(num);

heji();

}

function more(e){

var num=$(e).parent().find('input:eq(1)').val();

if(num0){num=0}else{num++}

$(e).parent().find('input:eq(1)').val(num);

heji();

}

function del(e){

$(e).parent().parent().remove();

heji();

}

function tr_more(){

var tr=$("#t").find("tr").length;

var trr=tr-2;

var newRow = "trtd"+eval(tr-1)+"/tdtdMac/tdtd¥span9999/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td/tr";

$('table#t tr:eq('+trr+')').after(newRow);

heji();

}

/script

/body

/html

android怎么实现 jquery 的效果

Android的ProgressDialog效果就是典型的android实现jquery效果的应用。

首先需要创建ProgressDialog对象,然后使用线程控制进度条显示,具体源代码:

package com.yarin.android.TestOnPDialog;

import android.app.Activity;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class PDialog extends Activity

{

private Button mButton01,mButton02;

int m_count = 0;

//声明进度条对话框

ProgressDialog m_pDialog;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//得到按钮对象

mButton01 = (Button)findViewById(R.id.Button01);

mButton02 = (Button)findViewById(R.id.Button02);

//设置mButton01的事件监听

mButton01.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View v)

{

// TODO Auto-generated method stub

//创建ProgressDialog对象

m_pDialog = new ProgressDialog(PDialog.this);

// 设置进度条风格,风格为圆形,旋转的

m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

// 设置ProgressDialog 标题

m_pDialog.setTitle("提示");

// 设置ProgressDialog 提示信息

m_pDialog.setMessage("这是一个圆形进度条对话框");

// 设置ProgressDialog 标题图标

m_pDialog.setIcon(R.drawable.img1);

// 设置ProgressDialog 的进度条是否不明确

m_pDialog.setIndeterminate(false);

// 设置ProgressDialog 是否可以按退回按键取消

m_pDialog.setCancelable(true);

// 设置ProgressDialog 的一个Button

m_pDialog.setButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int i)

{

//点击“确定按钮”取消对话框

dialog.cancel();

}

});

// 让ProgressDialog显示

m_pDialog.show();

}

});

//设置mButton02的事件监听

mButton02.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View v)

{

// TODO Auto-generated method stub

m_count = 0;

// 创建ProgressDialog对象

m_pDialog = new ProgressDialog(PDialog.this);

// 设置进度条风格,风格为长形

m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

// 设置ProgressDialog 标题

m_pDialog.setTitle("提示");

// 设置ProgressDialog 提示信息

m_pDialog.setMessage("这是一个长形对话框进度条");

// 设置ProgressDialog 标题图标

m_pDialog.setIcon(R.drawable.img2);

// 设置ProgressDialog 进度条进度

m_pDialog.setProgress(100);

// 设置ProgressDialog 的进度条是否不明确

m_pDialog.setIndeterminate(false);

// 设置ProgressDialog 是否可以按退回按键取消

m_pDialog.setCancelable(true);

// 让ProgressDialog显示

m_pDialog.show();

new Thread()

{

public void run()

{

try

{

while (m_count = 100)

{

// 由线程来控制进度。

m_pDialog.setProgress(m_count++);

Thread.sleep(100);

}

m_pDialog.cancel();

}

catch (InterruptedException e)

{

m_pDialog.cancel();

}

}

}.start();

}

});

}

}

jQuery内部原理和实现方式浅析

这段时间在学习研究jQuery源码,受益于jQuery日益发展强大,研究jQuery的大牛越来越多,学习的资料也比前两年好找了,有很多非常不错的资源,如高云的jQuery1.6.1源码分析系列。这些教程非常细致的分析了jQuery内部原理和实现方式,对学习和理解jQuery有非常大的帮助。但是个人认为很多教程对jQuery的整体结果把握不足,本人试图从整体来阐述一下jQuery的内部实现。

大家知道,调用jQuery有两种方式,一种是高级的实现,通过传递一个参数实现DOM选择,如通过$(“h1″)选择所有的h1元素,第二种是较为低级的实现,如果通过$.ajax实现ajax的操作。那么,这两种方式到底有何不同?用typeof函数检测$(‘h1′)和$.ajax,类型分别为object和function,稍微学过jQuery的都知道或者听过过,前者返回的是一个jQuery对象,那么jQuery对象是什么,它和jQuery是什么关系呢?我们先来通过for(var

i

in

$(”))

document.write(i+”

:::”+$(“”)[i]+””);打印一下jQuery对象的属性和对应的值,可以看到它有100多个属性,通过console输入$(“*”)可以看到大部分属性是继承自jQuery原型的属性,jQuery对象实际上是这样一个对象:

所以我们来推测,jQuery的实现可能是类似这样的:

function

jQuery(){

this[0]="Some

DOM

Element";

this[1]="Some

DOM

Element";

this[2]="Some

DOM

Element";

this.length=3;

this.prevObject="Some

Object";

this.context="Some

Object";

this.selector="Some

selector";

}

jQuery.prototype={

get:function(){},

each:function(){},

......

}

这些代码通过new操作符就就能创建出拥有上述属性的jQuery对象,但是实际上我们调用jQuery创建jQuery对象时并没有使用new操作符,这是如何实现的呢?来看jQuery的实现:

var

jQuery

=

function(

selector,

context

)

{

//

The

jQuery

object

is

actually

just

the

init

constructor

'enhanced'

return

new

jQuery.fn.init(

selector,

context,

rootjQuery

);

}

jQuery.fn=jQuery.prototype={

jquery:

core_version,

init:function(selector,context){

//some

code

return

this;

}

//some

code

there

//......

}

jQuery.fn.init.prototype=jQuery.fn;

这里有几点做得非常巧妙的地方,第一点是通过jQuery原型属性的init方法来创建对象来达到不用new创建对象的目的,第二点是对init方法内this指向的处理。我们知道,通过调用init返回一个jQuery的实例,那么这个实例就必须要继承jQuery.prototype的属性,那么init里面这个this,

就继承jQuery.prototype的属性。但是init里面的this,受制于作用域的限制,并不能访问jQuery.prototype其它的属性,jQuery通过一句'jQuery.fn.init.prototype=jQuery.fn'把它的原型指向jQuery.fn,这样以来,init产生的jQuery对象就拥有了jQuery.fn的属性。

到这里,一个jQuery的基本原型就浮出水面了。这里有两个对象,一个是jQuery这个构造函数,另外一个是这个构造函数产生的对象(我们称之为jQuery对象,它和普通对象没有什么区别),

如下关系图:

可以看到jQuery构造函数和jQuery.prototype均有各自的属性和方法,两者的调用方法各不一样,这两个对象都有一个extend方法,都是用来扩展自身的属性和方法,在jQuery内部,extend的实现实际是靠一样的代码,

将在后面的源码分析中做以详细的分析。


网页名称:实现jquery,实现中华民族伟大复兴是中华民族近代以来最伟大的梦想
转载注明:http://cdkjz.cn/article/hocgjd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220