jquery中html()方法函数很好用
$("id").html("插入");
$("id").html();//获取id的innerHTML怎么用纯JS代码实现上面的?
function $(d) {return document.getElementById(d);}.htm()部分怎么仿写?
$("id").html("插入");
$("id").html();//获取id的innerHTML怎么用纯JS代码实现上面的?
function $(d) {return document.getElementById(d);}.htm()部分怎么仿写?
==>document.getElementById("id").innerHTML="插入";
$("#id").html();
==>document.getElementById("id").innerHTML;
仿写html()这个方法函数
$("divid").html();
{
//return this.innerHTML=str;
} 上面不对,应该如何写?
return null;
}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div id="div1">aabb</div>
<script type="text/javascript">
//闭包,防命名污染
(function () {
var xx = window.$= function (d) {
//内建个new 这样直接$也可以使用prototype
if(this==window){
return new xx(d);
} if(d.nodeName){
this.node = d;
}else{
this.node = document.getElementById(d);
}
}
//附加功能
xx.prototype.html=function (t) {
if(t){
this.node.innerHTML= t;
return this;
}
return this.node.innerHTML;
}})();//测试代码
alert($("div1").html());
$("div1").html("我是新来的");
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div id="div1">aabb</div>
<script type="text/javascript">
//闭包,防命名污染
(function () {
var xx = window.$= function (d) {
//内建个new 这样直接$也可以使用prototype
if(this==window){
return new xx(d);
} if(d.nodeName){
this.node = d;
}else{
this.node = document.getElementById(d);
}
}
//附加功能
xx.prototype.html=function (t) {
if(t){
this.node.innerHTML= t;
//链式操作支持
return this;
}
return this.node.innerHTML;
}})();//测试代码
alert($("div1").html());
$("div1").html("我是新来的");
</script>
</body>
</html>
html: function( value ) {
return jQuery.access( this, function( value ) {
var elem = this[0] || {},
i = 0,
l = this.length; if ( value === undefined ) {
return elem.nodeType === 1 ?
elem.innerHTML.replace( rinlinejQuery, "" ) :
null;
}
if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
!wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { value = value.replace( rxhtmlTag, "<$1></$2>" ); try {
for (; i < l; i++ ) {
// Remove element nodes and prevent memory leaks
elem = this[i] || {};
if ( elem.nodeType === 1 ) {
jQuery.cleanData( elem.getElementsByTagName( "*" ) );
elem.innerHTML = value;
}
} elem = 0; // If using innerHTML throws an exception, use the fallback method
} catch(e) {}
} if ( elem ) {
this.empty().append( value );
}
}, null, value, arguments.length );
},
仿写html()这个方法函数
$("divid").html();
直接去翻jquery代码去
return E === g ? (this[0] ? this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : null) : this.empty().append(E)
}想用纯JS实现上面jquery这个html()方法函数
var dom = document.getElementById(id);
var result = {
html:function(str){
if(typeof str == 'string') {
dom.innerHTML = str;
return str;
} else
return dom.innerHTML;
}
}
return result;
}使用:
$('divid').html('1234');
jquery是将script抽出来执行了。
function $(d) {return document.getElementById(d);}HTMLElement.prototype.html = function(str){
if(typeof str === 'string') {
this.innerHTML = str;
return this;
} else {
return this.innerHTML;
}
}$("id").html()