JS this问题

JavaScript021

JS this问题,第1张

f.ad中没有定义this.o。this.o中的this指向的是f,f中没有定义this.o。

且不会向上查找到window作用域。而且就算在f函数中存在this.o也读取不到。

因为一个函数无法读取到另一个函数内部的变量。只能由内部函数读取外部函数。

三种办法。

第一种在f中写个return o调用this()。

第二种直接在f.ad中定义this.o。

第三种在f中定义this.a。用f.ad.call(new f())就可以获取到f中的this.a的值了。

如果是这样写 直接使用就可以

var go = function(obj){

var id = obj.id

var id = obj.value

}

也可以改变一下思路 传自己的ID进去

<input id="t1" value="3" obblur="go('t1')"/>

var go = function(id){

var obj = document.getElementById('t1')

}

推荐使用jquery jquery操作这个非常简单 举个例子

var go = function(obj){

var id = $(obj).attr('id')

var v = $(obj).val()

}

使用jquery可以很方便的解决这个问题。

parent([expr])

取得一个包含着所有匹配元素的唯一父元素的元素集合。

可以使用可选的表达式来筛选。

<div><p>Hello</p><p>Hello</p></div>

<script type="text/javascript">

$("p").parent()//获取p元素的父级元素(div)

</script>