jquery ajax html 移动端,移动端原生js代替jq(zepto)

本文介绍了如何使用原生JavaScript替代Zepto库进行DOM查找、属性获取与设置、DOM操作以及Ajax请求。通过示例代码展示了如parent(), prev(), next(), siblings()等方法的实现,并探讨了兼容性问题,特别关注移动端的适配。此外,还涵盖了class操作和获取元素高度、宽度的方法,以及如何执行Ajax请求。
摘要由CSDN通过智能技术生成

在移动端兼容性一般问题都不大,基本兼容-webkit-即可,那不妨我们用原生js来完成zepto的一些工作吧,以下代码不一定全部兼容各种移动端手机,只是小试牛刀而已。

dom查找

1、$(el).parent()

2、$(el).prev()

3、$(el).next()

4、$(el).last()

5、$(el).first()

6、$(el).siblings()

7、$(el).find(selector)

8、$(el).each(function(i, el){});

//js

1、el.parentNode

2、el.previousElementSibling

3、el.nextElementSibling

4、el.lastElementChild

5、el.children[0]

6、Array.prototype.filter.call(el.parentNode.children, function(child){

return child !== el;

});

7、el.querySelectorAll(selector)

8、var elements = document.querySelectorAll(selector);

Array.prototype.forEach.call(elements, function(el, i){});

获取dom属性

1、$(el).html()

2、$(el).val()

3、$(el).attr()

4、$(el).css('border-width', '20px')

//js

1、el.innerHTML

2、el.value

3、el.getAttribute()

4、el.style.borderWidth = '20px'

获取dom各种高度

获取宽度也是一样逻辑

1、$(el).offset().top

2、$(el).scrollTop

3、$(el).Height()

//js

1、var rect = el.getBoundingClientRect()

rect.top + document.body.scrollTop

2、el.getBoundingClientRect().top

3、el.clientHeight

class操作

1、$(el).addClass('class')

2、$(el).removeClass('class')

3、$(el).toggleClass('class')

4、$(el).hasClass('class')

//js

1、el.classList.add('class')

2、el.classList.remove('class')

3、el.classList.toggle('class')

4、function hasClass(el,className){

if(el.classList){

return el.classList.contains(className);

}else{

return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);

}

}

dom结构操作

1、$(el).remove()

2、$(el).clone()

3、$(parent).append()

//js

1、el.parentNode.removeChild(el)

2、el.cloneNode(true)

3、parent.appendChild(el)

ajax

$.ajax({

type: 'GET',

url: '/my/url',

success: function(resp) {

},

error: function() {

}

});

//js

var request = new XMLHttpRequest();

request.open('GET', '/my/url', true);

request.onreadystatechange= function() {

if (this.status >= 200 && this.status < 400) {

// Success!

var resp = this.response;

} else {

// We reached our target server, but it returned an error

}

};

request.onerror = function() {

// There was a connection error of some sort

};

request.send();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值