JS与JQ旧笔记
1:获取ID
JavaScript:document.getElementById('idName')
JQuery:$('#idName')
3、获取Class
JavaScript: JavaScript没有默认的获取class的方法
JQuery: $('.className')
4、获取TagName
JavaScript: document.getElementsByTagName('tagName')
JQuery: $('tagName')
5、创建对象并加入文档中
JavaScript:
var para = document.createElement('p'); //创建一个p元素
document.body.appendElement(para); //将p元素追加为body的lastchild子节点,如果想将新创建的p元素
插入到已存在的某个元素之前,可以使用insertBefore()方法
JQuery:append()、appendTo()、prepend()、prependTo()
格式:$( html );
eg,html代码:
<p>World!</p>
$('p').append('<b>Hello!</b>');
//输出:<p>World!<b>Hello!</b></p>
$('<b>Hello!</b>').appendTo('p'); //输出:同上
$('p').prepend('<b>Hello!</b>');
//输出:<p><b>Hello!</b>World! </p>
$('<b>Hello!</b>').prependTo('p');
//输出:同上
6、插入新元素
JavaScript: insertBefore()
语法格式: parentElement.insertBefore(newElement,targetElement)
eg, 将一个img元素插入一个段落之前。
html代码:
<img src="image.jpg" id="imgs" />
<p>这是一段文字</p>
JavaScript代码:
var imgs = document.getElementById('imgs');
var para = document.getElementsByTag('p');
para.parenetNode.insertBefore(imgs,para);
JQuery: after()、insertAfter()、before()、insertBefore()
html代码:
<p>World!</p>
JQuery代码
$('p').after('<b>Hello!</b>');
//输出:<p>World! </p><b>Hello!</b>
$('<b>Hello!</b>'). insertAfter ('p');
//输出:同上
$('p').before('<b>Hello!</b>');
//输出:<b>Hello!</b><p>World! </p>
$('<b>Hello!</b>').insertBefore('p');
//输出:同上
8、删除节点
JavaScript: reference = element.removeChild(node)
removeChild()方法将一个给定元素里删除一个子节点
JQuery: remove(); empty();
remove()方法作用就是从DOM中删除所有匹配的元素,remove()方法还可以与其他的过滤选择器结合使用,非常方便。
eg,将ul li下的title不是"Hello"的li移除:
$('ul li').remove(li[title!='Hello']);
empty()方法作用是清空节点
9、属性操作:设置属性节点、查找属性节点
JavaScript:document.getElementsByTagName('tagName')
JQuery: JQuery中设置和查找属性节点都是:attr()
$('p').attr('title'); //获取p元素的title属性;
$('p').attr('title','My title'); //设置p元素的title属性
$('p').attr('title':'My title','class':'myClass'); //设置多个,可以用"名:值"对的形式,中间用逗号隔开
10、替换节点
JavaScript: reference = element.replaceChild(newChild,oldChild)
该方法是将一个给定父元素里的一个子节点替换为另外一个节点。
JQuery: replaceWith()、replaceAll()
eg:
<p>hello</p>
想替换为:
<h2>Hi</h2>
JQuery代码:
$('p') .replaceWith('<h2>Hi</h2>');
或者可以写成:
$('<h2>Hi</h2>').replaceAll('p');
11、CSS-DOM操作
JavaScript: 格式:element.style.property
CSS-DOM能够读取和设置style对象的属性,其不足之处是无法通过它来提取外部CSS设置的样式信息,而JQuery的.css()方法是可以的。
注意点:CSS中的如"font-size"这样有"-"的,要使用首字母小写的驼峰式表示,如fontSize。
JQuery: 格式:$(selector).css()
此外,JQuery还提供了height()和width()分别用来获取元素的高度和宽度(均不带单位),而css(height)、css(width)返回高宽,且带单位
12、改变元素的内容
JS: abc.innerHTML = "test";
jQuery: abc.html("test");
13、显示隐藏元素
JS:abc.style.display = "none";
abc.style.display = "block";
jQuery:abc.hide();
abc.show();
abc.toggle(); //在显示和隐藏之间切换
14、获得焦点
JS和jQuery是一样的,都是abc.focus();
15、为表单赋值
JS:abc.value = "test";
jQuery:abc.val("test");
16、获得表单的值
JS:alert(abc.value);
jQuery:alert(abc.val());
17、设置元素不可用
JS:abc.disabled = true;
jQuery:abc.attr("disabled", true);
18、修改元素样式
JS:abc.style.fontSize=size;
jQuery:abc.css('font-size', 20);
JS:abc.className="test";
JQuery:abc.removeClass();
abc.addClass("test");
19、Ajax
JS:自己创建对象,自己处理浏览器兼容等乱七八糟的问题,略去不表
jQuery
$.get("abc.php?a=1&b=2", recall);
postvalue = "a=b&c=d&abc=123";
$.post("abc.php", postvalue, recall);
function recall(result) {
alert(result);
//如果返回的是json,则如下处理
//result = eval('(' + result + ')');
//alert(result);
}
20、判断复选框是否选中
jQuery
if(abc.attr("checked") == "checked")
注意:网上说的.attr("checked") == true实际上不能用,上面这个测试过能用
21、给文本框赋值以及取值:
jq:$('.class').text() 获取文本的内容;
$('.class').text('想要在文本框内放置的内容');
js:documentgetElementById('id').innerHTML 获取文本的内容;
documentgetElementById('id').value 获取文本框的内容;
document.getElementById("id").value="想要在文本框内放置的内容";