工作中遇到操作frame插入节点的问题,需要在frame内部获取到父窗口,刚开始用jq操作无法解决问题,后面在父窗口的body上加个id,然后利用原生JS的parent.window.document.getElementById方法获取到父窗口的body对象,但是插入节点的话无法用jq方法,因为原生获取到的是DOM对象,刚开始想的是用js原生的方法appendChild,但是这个必须也是DOM对象,而要插入的是已经拼装好的字符串,如果再转换为dom对象感觉把事情复杂化。后来就想了下应该可以把原生DOM对象转换为JQ对象,百度了下果然有,代码如下:
jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
DOM对象转成jQuery对象:
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
转换后,就可以任意使用jQuery的方法了。
参考:http://blog.youkuaiyun.com/avenccssddnn/article/details/8566131