日期:2014-05-16  浏览次数:20577 次

刚学jquery,求教下面的用法,何解?
$("a.tooltip").mouseover(function(e){
        this.myTitle = this.title;

<a href="#" class="tooltip" title="这是我的超链接提示1.">提示1.</a>

<a>标签中并没有myTitle属性啊,想不通this.myTitle为什么可以给对象新添加一个属性

------解决方案--------------------

$(function(){
$('a').mouseover(function(){
this.myTitle = 'aaa';/*添加一个属性到this上下文*/
this.setAttribute('myTitle' ,'aaa');/*添加一个属性到a节点中*/
}).mouseout(function(){
alert(this.myTitle);/*获取this上下文中的myTitle属性*/
});
})

------解决方案--------------------
js限制比较宽松,可对现有对象添加任意属性,即使不存在该属性
------解决方案--------------------
就是添加新属性,如果存在则修改,不存在就添加。
------解决方案--------------------
引用:
$("a.tooltip").mouseover(function(e){
        this.myTitle = this.title;

<a href="#" class="tooltip" title="这是我的超链接提示1.">提示1.</a>

<a>标签中并没有myTitle属性啊,想不通this.myTitle为什么可以给对象新添加一个属性……

this.myTitle 这里的this就是只标签<a>对象 这里使用了面向对象的方式添加了一个属性。类似var o={}
o.title = function(){} 楼主可以看看js面向对象的编程知识希望对你有所帮助http://www.jb51.net/list/list_198_1.htm