乙個好用的Tag函式

2021-07-23 12:23:18 字數 3907 閱讀 2199

文章標題提到的tag函式是基於jquery寫的,所以,在使用之前務必要引入jquery檔案。該函式主要用於動態建立標籤,並獲取建立的標籤對應的dom物件等。注意:該函式並沒有封裝成jquery外掛程式的形式,若想改造成jquery外掛程式形式,需要的自己動手啦。

1.tag函式需要用到其他一些工具函式,**如下。對於這些工具函式,本人主要是新建乙個名字為util.js的檔案進行儲存。

/**

* 定義命名空間util

*/util = {};

/** * 測試js是否載入成功

*/util.test = function

() ;

/** * 控制台輸出

*/function

jsout

(str)

/** * 根據id進行查詢

*/function

findbyid

(id)

/** * 建立乙個命名空間。

* 命名空間是乙個全域性變數。

* @param ns 命名空間, 如mgr.system.errorcode

*/util.namespace = function

(ns);

}upperns = upperns[name];

});};ns = util.namespace;

/** * 判斷乙個字串是否為undefined 或 null或""

* @param str

* @returns

*/util.isnullorempty = function

(str);

util.notnullorempty = function

(str);

/** * 是否為整數

* @param num

* @returns

*/util.isinteger = function

(num);

/** * 將string解析為json物件

* @param json

* @returns

*/util.parsejson = function

(json);

/** * 判斷是否為雙標籤

* @param tag

* @returns

*/util.isdoubletag = function

(tag);

/** * 生成隨機id

*/util.id = function

();

2.有了上述工具函式以後,可以順利給出tag的**了。本人其實是新建了乙個名為core.js的檔案進行儲存的,**如下:

//namespace

core = {};

function

tag(params)

if(typeof params == "string");

params.tag = tag;

}//如果沒有指定id, 則生成乙個隨機id

if(util.isnullorempty(params.id))

//此處列出來的屬性可以直接在tag物件中指定. 未列出的屬性需要在其attrs中指定

var directattrs = ['id','class','style','type','value', 'width','selected'];

if(util.notnullorempty(params["cls"]))

//將這此屬性值複製到params.attrs物件中

var attrs = {};

$.each(directattrs, function

(i, a)

});if(params.attrs == undefined);

}$.extend(params.attrs,attrs);

/** html, text, innerhtml屬性都被解析為items

*/var items = ;

var innerhtmlfields = ["html","text","innerhtml"];

$.each(innerhtmlfields, function

(i, f)

});if(!params.items)

if(!$.isarray(params.items))

$.merge(items, params.items);

params.items = items;

//將params的屬性都複製到this物件上

$.extend(this, params);

/*繫結事件監聽**/

var listeners = params.listeners;

for( var listener in listeners)

};/*假如指定了containerid或container, 則將建立的標籤插入dom中**/

if(util.notnullorempty(params.containerid))else

if(util.notnullorempty(params.container));

/*標識自己為tag物件的例項**/

this._istaginstance = true;

}$.extend(tag.prototype,

if(util.isnullorempty(this.attrs["style"]))

this.attrs["style"] += "width:" + width;

delete

this.attrs["width"];}/*

* 拼裝屬性字串

*/var attrs = " ";

for(var attr in

this.attrs)}/*

*處理子元素

*/var items = this.items;

var innerhtml = "";

$.each(items, function

(i, item)

}innerhtml += item + "";//自動呼叫item.tostring();

});/*

* 生成html

*/var tag = this.tag;

var html = "";

if(util.isdoubletag(tag))else

this._html = html;

return

this._html;

},insert:function

(tag),

/*** 重寫tostring方法

*/tostring:function

(), /**

* @returns 將tag插入dom中後,可呼叫此方法獲得對應的jquery物件

*/$:function

(), /**

* 獲取屬性值

* @param attrname

*/attr:function

(attrname)

});core.tag = tag;

3.使用示範(前提是引入jquery檔案和上述兩個檔案)

var tag = new core.tag(,

focus:function

(){}

},attrs:,

items:[new tag("div"), ,"hello"]//子元素陣列, 陣列元素可以是乙個tag物件或乙個tag物件的配置物件或乙個普通字串、

})tag.tohtml(); //列印結果就知道是什麼了

tag.attr("attrname"); //列印結果就知道是什麼了

tag.$();//獲取標籤對應的dom物件,控制台列印出結果就知道是什麼了,比如,console.log(tag.$())

PHP parseurl 乙個好用的函式

parse url 解析 url,返回其組成部分。array parse url string url 本函式解析乙個 url 並返回乙個關聯陣列,包含在 url 中出現的各種組成部分。本函式不是用來驗證給定 url 的合法性的,只是將其分解為下面列出的部分。不完整的 url 也被接受,parse ...

PHP中乙個好用的函式parse url

php 中乙個好用的函式parse url,特別方便用來做資訊抓取的分析,舉例子如下 url parts parse url url 輸出 又如 輸出 可以看到,可以很容易分解出乙個url的各個部,那如果要拿指定的部分出來的話也很容易,如 echo parse url url,php url pat...

乙個好用的PHP中的函式parse url

php中乙個好用的函式parse url,特別方便用來做資訊抓取的分析,舉例子如下 url parts parse url url 輸出 array 又如 輸出 array 可以看到,可以很容易分解出乙個url的各個部,那如果要拿指定的部分出來的話也很容易,如 echo parse url url,...