setattribute parameter和setParameter方法的区别

25750人阅读
有关js(29)
js getAttribute()方法
●一份文档就是一棵节点树。&& ●节点分为不同的类型:元素节点、属性节点和文本节点等。&& ●getElementById()方法将返回一个对象,该对象对应着文档里的一个特定的元素节点。&& ●getElementsByTagName()方法将返回一个对象数组,它们分别对应着文档里的一个特定的元素节点。&& ●这些节点中的每个都是一个对象。接下来,我们将向大家介绍几个与这些对象相关联的属性和方法。3.4.1 getAttribute()方法至此,我们已经向大家介绍了两种检索特定元素节点的办法:一种是使用getElementById()方法,另一种是使用getElementsByTagName()方法。在找到那个元素后,我们就可以利用getAttribute()方法把它的各种属性的值查询出来。getAttribute()方法是一个函数。它只有一个参数&&你打算查询的属性的名字:object.getAttribute(attribute)不过,getAttribute()方法不能通过document对象调用,这与我们此前介绍过的其他方法不同。我们只能通过一个元素节点对象调用它。例如,你可以把它与getElementsByTagName()方法结合起来,去查询每个&p&元素的title属性,如下所示:var text=document.getElementsByTagName("p")for (var i=0;i&text.i++){alert(text[i].getAttribute("title"));}如果把上面这段代码插入到前面给出的&购物清单&示例文档的末尾,并在Web浏览器里重新加载这个页面,屏幕上将弹出一个显示着文本消息&a gentle reminder&的alter对话框。在&购物清单&文档里只有一个带有title属性的&p&元素。假如这份文档还有一个或更多个不带title属性的&p&元素,则相应的getAttribute("title")调用将返回null。null是JavaScript语言中的空值,其含义是&你说的这个东西不存在&。如果你们想亲自验证一下这件事,请先把下面这段文本插入到&购物清单&文档中的现有文本段落之后:&p&This is just test&/p&然后重新加载这个页面。这一次,你们将看到两个alter对话框,而第二个对话框将是一片空白或者是只显示着单词&null&&&具体情况要取决于你的Web浏览器将如何显示null值。可以修改我们的脚本,让它只在title属性存在时才弹出一条消息。我们将增加一条if语句来检查getAttribute()方法的返回值是不是null。趁着这个机会,我们还增加了几个变量以提高脚本的可读性:var ts=document.getElementsByTagName("li");for (var i=0; i&ts.i++){text=ts[i].getAttribute("title");if(text!=null){alert(text)}}现在,如果重新加载这个页面,你们将只会看到一个显示着&a gentle reminder&消息的alter对话框,如下所示。我们甚至可以把这段代码缩得更短一些。当检查某项数据是否是null值时,我们其实是在检查它是否存在。这种检查可以简化为直接把被检查的数据用做if语句的条件。if (something)与if (something != null)完全等价,但前者显然更为简明。此时,如果something存在,则if语句的条件将为真;如果something不存在,则if语句的条件将为假。具体到这个例子,只要我们把if (title_text != null)替换为if (title_text),我们就可以得到更简明的代码。此外,为了进一步增加代码的可读性,我们还可以趁此机会把alter语句与if语句写在同一行上,这可以让它们更接近于我们日常生活中的英语句子:var ts=document.getElementsByTagName("li");for (var i=0; i&ts.i++){text=ts[i].getAttribute("title");if(text) alert(text)}3.4.2 setAttribute()方法我们此前介绍给大家的所有方法都只能用来检索信息。setAttribute()方法与它们有一个本质上的区别:它允许我们对属性节点的值做出修改。类似于getAttribute()方法,setAttribute()方法也是一个只能通过元素节点对象调用的函数,但setAttribute()方法需要我们向它传递两个参数:obiect.setAttribute(attribute,value)在下面的例子里,第一条语句将把id属性值是purchase的元素检索出来,第二条语句将把这个元素的title属性值设置为a list of goods:var shopping=document.getElementById("purchases")shopping.setAttribute("title","a list of goods")我们可以利用getAttribute()方法来证明这个元素的title属性值确实发生了变化:var shopping=document.getElementById("purchases");alert(shopping.getAttribute("title"));shopping.setAttribute("title","a list of goods");alert(shopping.getAttribute("title"));上面这些语句将在屏幕上弹出两个alert对话框:第一个alter对话框出现在setAttribute()方法被调用之前,它将是一片空白或显示着单词&null&;第二个出现在title属性值被设置之后,它将显示着&a list of goods&消息。在上例中,我们设置了一个现有节点的title属性,但这个属性原先并不存在。这意味着我们发出的setAttribute()调用实际完成了两项操作:先把这个属性创建出来,然后再对其值进行设置。如果我们把setAttribute()方法用在元素节点的某个现有属性上,这个属性的当前值将被覆盖。在&购物清单&示例文档里,&p&元素已经有了一个title属性,这个属性的值是a gentle reminder。我们可以用setAttribute()方法来改变它的当前值:&script type="text/javascript"&var ts=document.getElementsByTagName("li");for (var i=0; i&ts.i++){var text=ts[i].getAttribute("title");alert(ts[i].getAttribute("title"))if(text){ts[i].setAttribute("title","我会成功!")alert(ts[i].getAttribute("title"))}}上面这段代码将先从文档里把已经带有title属性的&p&元素全部检索出来,然后把它们的title属性值全部修改为brand new title text。具体到&购物清单&文档,属性值a gentle reminder将被覆盖。这里有一个非常值得关注的细节:通过setAttribute()方法对文档做出的修改,将使得文档在浏览器窗口里的显示效果和/或行为动作发生相应的变化,但我们在通过浏览器的view source(查看源代码)选项去查看文档的源代码时看到的仍将是原来的属性值&&也就是说,setAttribute()方法做出的修改不会反映在文档本身的源代码里。这种&表里不一&的现象源自DOM的工作模式:先加载文档的静态内容、再以动态方式对它们进行刷新,动态刷新不影响文档的静态内容。这正是DOM的真正威力和诱人之处:对页面内容的刷新不需要最终用户在他们的浏览器里执行页面刷新操作就可以实现。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:123329次
积分:1606
积分:1606
排名:千里之外
原创:51篇
评论:19条
(2)(7)(44)(1)扫二维码下载作业帮
2亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿学生的选择
attribute和parameter的区别在网页设计中request.getParameter(),session.setAttribute(),session.getParameter().Parameter和attribute是如何区别的?
陌_路jwOC3
扫二维码下载作业帮
2亿学生的选择
attributen.属性,标志,定语vt.把...归于,认为...属于【计】 属性【经】 归属,属性,特质 n.参变数,参变量,参数,参量【计】 参量; 参数【化】 参量【医】 参数,计算指标【经】 参数,系数,工业生产预测法
为您推荐:
其他类似问题
扫描下载二维码温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
参考资料:
阅读(3361)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'JSP中setattribute与setParameter的区别 【转载】',
blogAbstract:'
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:&a href=\"authenticate.jsp?username=weiqin\"&authenticate.jsp &/a&或者:&form name=\"form1\" method=\"post\" action=\"authenticate.jsp\"&',
blogTag:'java',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 js setattribute 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信