jquery中如何获取树的节点的数据、id或名字

jquery中如何获取树的节点的数据、id或名字,第1张

使用jQuery框架 *** 作HTML DOM是一件极其便捷的事情,如下 *** 作即可获取相应节点的数据,id和名字(下文中引用“$(this)”表示一个jQuery对象):

获取节点标签内容数据: $(this)html( )

获取表单组件中的值: $(this)val()

获取节点中的文本内容(例如textarea): $(this)text()

获取节点的id: $(this)attr("id")

获取节点的名字: $(this)attr("name")

给你写个简单的 demo

<div class="boxbox clearfix">

    <span class="selected" id="boxboxa">a</span>

    <span id="boxboxb">b</span>

</div>

<div class="boxbox-con">

    <div class="onediv" id="onediv">一个div</div>

    <div class="otherdiv" id="otherdiv">另一个div</div>

</div><style type="text/css">

    clearfix:before,clearfix:after {display: table; content: ''; height: 0; width: 0; clear: both;}

    boxbox span {width: 200px; float: left; display: inline-block; height: 35px; line-height: 35px; text-align: center; font-size: 24px}

    boxbox spanselected {background-color: #f1f1f1;}

    boxbox-con {height: 300px;}

    boxbox-con onediv {background-color: red; height: 100%;}

    boxbox-con otherdiv {background-color: cyan; display: none; height: 100%}

</style><script type="text/javascript" src="jqueryjs"></script>

<script type="text/javascript">

    $('#boxboxa')on('click',function(){

        $(this)addClass('selected')siblings()removeClass('selected');

        $('#onediv')show();

        $('#otherdiv')hide();

    });

    $('#boxboxb')on('click',function(){

        $(this)addClass('selected')siblings()removeClass('selected');

        $('#onediv')hide();

        $('#otherdiv')show();

    });

</script>

大家在有时的网页设计中,前端会出现这样一个问题,因为左侧的侧边导航只有几个链接,很短,而右边的正文部分有可能会很长,怎么才能让左侧的背景能一直随着右侧的内容高度的增加而增加呢?当然,这种解决方法有两种,一种就是让左侧的导航漂浮,在右侧下拉或者是窗口拉出了左侧的高度时置顶,像糗事百科右侧的广告那样,这种方法现在也很流行,不过,我们今天不讲这种,讲的是另一种方法,让左右两边的div的高度能一致,随时一致,如果内容是固定的话,好做,左右固定高度,如果右侧的内容不固定呢?还是有办法得!

这种问题大多都是软件系统或者是一些后台中常用的,方法很简单,利用jquery获取右侧的高度,使得左侧和右侧的高度保持一致就OK啦!废话不多,上代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN"

">

本文实例讲述了jQuery查找节点方法。分享给大家供大家参考,具体如下:

<html>

<head>

<meta

>

不要把jQuery元素与Dom元素混淆,你这个s是jQuery对象,不能用Dom的方法去处理:

<script>

$(function () {

var s = $("span");

//alert(slength);

for( var i = 0; i < slength; i++ ){

var Str = seq(i)parent()next()text();

//也可以用 $(s[i])parent()next()text();

alert ("hello!");

alert (Str);

}

})

</script>

在开发过程中,jQueryhtml() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQueryprop("outerHTML")的方式设置。

很多jQuery的使用者都对这一问题深感疑惑。为什么在众多方便的各种获取属性和设置属性的方法中就不能像DOM中一样直接设置html元素的outerHTML呢?

因为原生JS DOM里有一个内置属性 outerHTML (看清大小写哦,JS是区分大小写的)用来获取当前节点的html代码(包含当前节点),所以用jQuery的prop()能拿到

一、jquery获取outerhtml

<div class="test"><p>hello,你好!</p></div>

<script>

$("test")prop("outerHTML");

</script>

二、jquery设置outerhtml

 $(

'test'

)prop(

'outerHTML'

'<input>'

);

strInfo+=\r\n网页可见区域高:+documentbodyclientHeight;

strInfo+=\r\n网页可见区域宽:+documentbodyoffsetWidth+(包括边线的宽);

strInfo+=\r\n网页可见区域高:+documentbodyoffsetHeight+(包括边线的高);

strInfo+=\r\n网页正文全文宽:+documentbodyscrollWidth;

strInfo+=\r\n网页正文全文高:+documentbodyscrollHeight;

strInfo+=\r\n网页被卷去的高:+documentbodyscrollTop;

strInfo+=\r\n网页被卷去的左:+documentbodyscrollLeft;

strInfo+=\r\n网页正文部分上:+windowscreenTop;

strInfo+=\r\n网页正文部分左:+windowscreenLeft;

strInfo+=\r\n屏幕分辨率的高:+windowscreenheight;

strInfo+=\r\n屏幕分辨率的宽:+windowscreenwidth;

strInfo+=\r\n屏幕可用工作区高度:+windowscreenavailHeight;

strInfo+=\r\n屏幕可用工作区宽度:+windowscreenavailWidth;

windowconfirm(strInfo);

</script

-----------------------------------------------------------------------------------------

最近编程中发现html静态页面的开发可以使用

documentbodyClientHeight

来获得页面的高度,但aspnet的页面却无法这样获取,获取到的只是页面最小的高度,比如页面只有一个button,那么该js语句获得的就是24。

documentdocumentElementOffsetHeight

----------------------------------------------------------------------------------------加上documentbodyscrollLeft;

documentbodyscrollTop;

x=documentbodyclientWidth+documentbodyscrollLeft;

y=documentbodyclientHeight+documentbodyscrollTop;若想得到整个页面的高度可以用

这两行代码要区分的是DOM对象和jQuery对象的区别。

DOM对象和jQuery对象是两种不同的对象,它们的实例也因此具有不同的属性和方法。通常要 *** 作页面中的节点,我们都需要想办法获取对该节点的引用。比如如下代码:

var dom = documentgetElementById('节点id');

这是通过节点的id来获取一个页面节点,也就是对节点的引用。这个时候,我们对变量dom的任何 *** 作,实际上就是对页面节点的 *** 作,比如说修改样式、移除节点、获取属性等等。如下:

domstyledisplay = 'none'; // 隐藏节点

domparentNoderemoveChild(dom); // 删除节点

var height = domoffsetHeight; // 获取节点高度

像上面的style、parentNode、removeChild、offsetHeight等等,都是DOM对象的属性或方法。

因为DOM对象不属于javascript的一部分,它是各个浏览器对javascript的扩展,但各个浏览器又都在实现上有一些不一致,导致javascript代码需要处理很多兼容性问题。为了解决这些兼容性问题,提高开发效率,jQuery库就诞生了。

jQuery解决了兼容性问题,再加上它的实现极其巧妙,因此得到了很多人的吹捧。以前有一点javascript基础的人,要写出稍微复杂些的特效,几乎都不可能,但因为jQuery的出现,类似显示隐藏、各种动画效果,都只需要简单的几行代码即可。有些人甚至觉得,jQuery甚至都能替代javascript,而且在各个前端学习的站点、博客中,也是将jQuery和javascript并列作为一类。

但问题是,不了解基础的javascript,在遇到问题、异常的时候,你就只能干瞪眼了。任何语言,框架和库都无法取代最基础的语法,而且框架和库也都是由最简单的语法丰富起来的。

jQuery实际上可以说是一个大的类——javascript实现的类。以一个简单的模型来说,如下:

;(function(window, undefined){

window$ = windowjQuery = jQuery;

// 定义jQuery类

function jQuery(selector, content){

content = content || document;

var eles = contentquerySelectorAll(selector);

var len = eleslength;

// 给jQuery对象添加长度属性

thislength = len;

// 方便获取dom对象,获取实例:jQuery('#id')[0];

for(var i = 0; i < len; i++){

this[i] = eles[i];

}

}

// 扩展原型

jQueryprototype = {

// 构造函数

constructor : jQuery,

// 根据索引获取dom对象

get : function(index){

return this[index];

}

}

})(window);

这是一段jQuery的模拟代码,你可以使用如下方式调用:

var jqObj = new jQuery('class');

因为jQuery的特殊处理,写jQuery代码的时候不需要new即可用,但这里没有处理,所以需要加上new关键字。

上面返回的jqObj,就是我定义的jQuery的一个对象,它是jQuery对象,已经不是DOM对象了。我可以写如下代码:

var dom = jqObjget(1); // 获取jQuery对象中下标为1的DOM对象

然后变量dom就和之前的变量dom一样,可以使用DOM对象的属性和方法了。

但是,我们不能写下面的代码,否则它就会报异常:

jqObjstylecolor = 'red';

因为jQuery对象的实例,根本就没有style这个属性。jQuery也是一样的,jQuery对象和DOM对象是两种不同的对象,它们的内部结构(比如上面的get方法是自定义的)也是不同的。当你把jQuery对象当做DOM对象使用时,你调用该对象的任何属性和方法,都有可能触发一个属性或方法未定义的异常,因为这个属性或方法确实不存在。

所以,如果你使用了jQuery库,那你就得在 *** 作节点的时候,注意区分这个节点对象到底是DOM对象,还是jQuery对象。基本上jQuery的方法如果返回节点对象,返回值大多是jQuery对象,但也有例外,比如get等。

回到你的题目,通过jQuery获取的canvas对象,实际上是jQuery对象封装后的对象。它没有getContext方法,所以会报错。但jQuery对象可以像访问数组一样,通过中括号来获取对应的DOM对象,所以第二种返回了最原始的Canvas对象,它是具有getContext方法的。

以上就是关于jquery中如何获取树的节点的数据、id或名字全部的内容,包括:jquery中如何获取树的节点的数据、id或名字、jquery获取子节点 求教!急!、如何用jquery实现高度自适应等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9774544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存