重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不可以 主要是由于现在的javascript运行都是需要引擎的(如v8),且javascript是脚本语言、弱类型语言,故上述几个现实造成了javascript的运行效率比较慢,导致部分如游戏、视频等需要大运算量的APP还是无法胜任,javascript代替原生的可能性不能说没有,但道路还是很漫长的
创新互联是一家专业提供雷州企业网站建设,专注与网站建设、成都做网站、H5网站设计、小程序制作等业务。10年已为雷州众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
正确使用判断对象是否存在应该用:if($("#id").length0){}else{} 使用jQuery 对象的属性 length 来判断,如果 0 就存在。或者 if($("#id")[0]){} else {} 或者直接使用原生的 Javascript 代码来判断: if(document.getElementByIdx_x_xx_x("id")){} else {} 或者var g = document.getElementById; if (g('addrId_324') != null) { //判断是否存在这个id号,不存在则为null g('addrId_' + selAddressId).className = ''; } JQuery 判断某个属性是否存在 hasAttr在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new"的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $("input[name=new]").hasClass("new") 即可判断. 这时就没有现成的方法了. 如果存在某个属性 $("#aid").attr("rel") 会返回 rel的值,如果不存在 rel属性则会返回"undefined" undefined 就是 undefined类型 , if($("#aid").attr("rel")=="undefined") 这个判断可能不成立. 因为类型不相同. 建议使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可 判断JS对象是否拥有某属性两种方式,但稍有区别1,in 运算符123varobj = {name:'jack'};alert('name'inobj); // -- truealert('toString'inobj); // -- true可看到无论是name,还是原形链上的toString,都能检测到返回true。 2,hasOwnProperty 方法123varobj = {name:'jack'};obj.hasOwnProperty('name'); // -- trueobj.hasOwnProperty('toString'); // -- false原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。
忘却jquery,使用JavaScript原生API做法是学习jQuery和JavaScript实现相同操作的等价代码算法。
选择元素
//jQuery
var ele = $(".ele");
//javascript
var ele = document.querySelectAll('.ele');
//函数法
var $ = function(ele){
return document.querySelectAll(ele);
}
var ele = $('.ele'); //调用
创建元素
//jquery
var newEle = $('divxxx/div');
//javascript
var newEle = document.createElement('divxxx/div');
添加事件监听器
//jQuery
$('.ele').on('event',function(){
});
//javascript
[].forEach.call(document.querySelectAll('.ele'),function(ele){
ele.addEventListener('event',function(){
},false);
})
设置/获取属性
//jQuery
$('.ele').attr('key','value');
$('.ele').attr('key');
//javascript
document.querySelector('.ele').setAttribute('key','value');
document.querySelector('.ele').getAttribute('key');
添加/移除/切换类
//jQuery
$('.ele').addClass('class');
$('.ele').removeClass('class');
$('.ele').toggleClass('class');
//javascript
document.querySelector('.ele').classList.add('class');
document.querySelector('.ele').classList.remove('class');
document.querySelector('.ele').classList.toggle('class');
附加内容(Append)
//jquery
$('.ele').append('divxxx/div');
//javascript
document.querySelector('.ele').appendChild(document.createElement('divxxx/div'));
克隆元素
//jQuery
var cloneEle = $('.ele').clone();
//javascript
var cloneEle = document.querySelector('.ele').cloneNode(true);
移除元素
//jQuery
$('.ele').remove();
//javascript
remove('.ele');
function remove(ele){
var toRemove = document.querySelector(ele);
toRemove.parentNode.removeChile(toRemove);
}
获取父元素
//jQuery
$('.ele').parent();
//javascript
document.querySelector('.ele').parentNode;
上一个/下一个元素
//jQuery
$('.ele').prev();
$('.ele').next();
//javascript
document.querySelector('.ele').previousElementsibling;
document.querySelector('.ele').nextElementSibling;
XHR或AJAX
全选复制放进笔记//jQuery
$.get('url',function(data){
})
$.post('url',{data: data},function(){
})
//javascript
//get
var xhr = new XMLHttpRequest();
xhr.open('GET',url);
xhr.onreadystatechange = function(data){
}
xhr.send();
//post
var xhr = new XMLHttpRequest();
xhr.open('POST',url);
xhr.onreadystatechange = function(data){
}
xhr.send({data: data});
内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。
script type="text/javascript"
//定义XmlhttpRequest对象
var xmlrequest;
//完成对对象XmlHttpRequest对象的初始化
function createXmlHttpRequest(){
if(window.XMLHttpRequest){
//DOM 2浏览器
xmlrequest = new XMLHttpRequest();
}else if(window.ActiveXObject){
//IE 浏览器
try{
xmlrequest = new ActiveXOPbject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlrequest = new ActiveXObject("Microsoft.XMlHTTP");
}catch(e){
}
}
}
}
//事件处理函数,当下拉列表选择改变时,触发改事件
function change(id){
//初始化XMLHttpRequest对象
createXmlHttpRequest();
//设置请求响应的URL
var url = "second.jsp?id="+id;
//打开与服务器响应地址的连接xmlrequest.open(method,url,async,user,password)
xmlrequest.open("POST",url,true);
//设置请求头(Post必须设置,GET方式不需要)
xmlrequest.setRequestHeader("Context-Type","application/x-www-form-urlencoded");
//设置处理响应的回调函数,此函数processResponse是自己定义的
xmlrequest.onreadystatechange = processResponse;
//发送请求
xmlrequest.send(null);
}
//定义处理响应的回调函数
function processResponse(){
//响应完成且响应正常
if(xmlrequest.readyState == 4){
if(xmlrequest.status == 200){
//信息已经成功返回,开始处理信息
var headers = xmlrequest.getAllResponseHeaders();
//通过警告框输出相应头
alert("相应头的类型 "+ typeof headers + "\n" + headers);
//在页面输出所有的相应头
document.getElementById("output").innerHTML = headers;
}else{
//页面不正常
window.alert("您所请求的页面异常。");
}
}
}
/script
采纳啊。。。。。。。。。。。。。。。
javascript就是js,实例:document.getElementById('id');
原生JavaScript也是就是,实例:document.getElementById('id');
jQuery是基于js开发的一套框架,实例:$('#id');
DOM就是实例获取的对象,也称element。