jquery怎么获取到VALUE值?
谢邀。
题主刚学前端的吧,刚用上用react,应该是了解了下DOM然后用起react有这样的疑问。不过没事,慢慢来。
怎么说呢,两个input框在彼此的事件绑定里获取对方的值,在react里是很容易做到的,不需要通过获取兄弟节点的value值来做。
v16.8之前
可以在Class Component里定义两个state:inputValue1、inputValue2
在事件绑定的时候,通过setState把e.target.value值赋给预先定义好的state,两个state即作为两个input的value
在彼此的事件绑定里,借由this.state.inputValue就可以获取彼此的value值
v16.8之后
使用hooks进行内部状态管理,这样和上方的形式类似,只不过,state就不用通过this获取上下文,而是在组件内上下文就可以取到,而写在组件里的方法,很容易通过上下文取到这两个value。
走DOM形式获取,也可以使用useRef就可以获取两个input的当前实例也很好拿到它的value
总的来讲,使用React后,和DOM操作的思路会不一样,因为React组件内“DOM”就是自己组装的,而这里的“DOM”,React会称之为“Virtual DOM”。不同就是,以前是写好HTML结构后用js、jQuery去操作DOM以达到目标效果;现在,在DOM生成之前,你可以去添加事件绑定、值绑定等,而这样的好处就是走上下文就可以获取到各种绑定值,而不用通过DOM获取元素value的形式
jquery中怎样根据父级找元素?
jquery中parent()可以获取父级元素,所以获得某元素父级的父级可以使用
$(selector).parent().parent();
示例如下
创建Html代码及css样式
class1
class2
class3
div{padding:10px 20px;border:4px solid #ebcbbe;}
div.class1{width:200px;height:120px;}
编写jquery代码
$(function(){
$("div.class3").click(function() {
obj = $(this).parent().parent();
alert(obj.prop('class'));
});
})
jQuery是如何判断HTML页面加载完毕的?它的原理是什么?
jQuery判断HTML页面加载完毕用的不是
window.onload
。$(document).ready是在页面加载完毕时执行回调而window.onload是在页面全部加载完成时,包括一些资源比如图片。
所以window.onload比$(document).ready更延后一些。
window.onload自然不必说,是浏览器自身支持的。
但是$(document)
.ready
根据的是document.documentElement
对象去判断的。每次调用document.documentElement.scrollLeft方法如果此方法产生了异常,就说明scrollLeft无法执行,此时页面还未加载完成,所以就用try块包含这条语句,然后catch住,用setTimeout方法,重新执行一遍。直到scrollLeft可以执行时,就说明页面加载完成了,此时再去回调。

