使用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实现高度自适应等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)