本文實例講述了JavaScript獲取頁面中第一個錨定文本的方法。分享給大家供大家參考。具體如下:
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務西華,十載網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
下面的JS代碼通過document.archors數(shù)組獲取第一個archor的innerHTML
!DOCTYPE
html
html
body
a
name="html"jb51.net/abr
a
name="css"CSS
Tutorial/abr
a
name="xml"XML
Tutorial/a
pinnerHTML
of
the
first
anchor:
script
document.write(document.anchors[0].innerHTML);
/script
/p
/body
/html
上面的代碼輸出:
jb51.net
希望本文所述對大家的javascript程序設計有所幫助。
在WEB開發(fā)中,時常會用到javascript來獲取當前頁面的url網(wǎng)址信息,在這里是我的一些獲取url信息的小總結。
下面我們舉例一個URL,然后獲得它的各個組成部分:
1、window.location.href(設置或獲取整個 URL 為字符串)
var test = window.location.href;
alert(test);
返回:
2、window.location.protocol(設置或獲取 URL 的協(xié)議部分)
var test = window.location.protocol;
alert(test);
返回:http:
3、window.location.host(設置或獲取 URL 的主機部分)
var test = window.location.host;
alert(test);
返回:i.cnblogs.com
4、window.location.port(設置或獲取與 URL 關聯(lián)的端口號碼)
var test = window.location.port;
alert(test);
返回:空字符(如果采用默認的80端口(update:即使添加了:80),那么返回值并不是默認的80而是空字符)
5、window.location.pathname(設置或獲取與 URL 的路徑部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx
6、window.location.search(設置或獲取 href 屬性中跟在問號后面的部分)
var test = window.location.search;
alert(test);
返回:?opt=1
PS:獲得查詢(參數(shù))部分,除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應的參數(shù)值。
7、window.location.hash(設置或獲取 href 屬性中在井號“#”后面的分段)
var test = window.location.hash;
alert(test);
返回:空字符(因為url中沒有)
8、js獲取url中的參數(shù)值
一、正則法
function getQueryString(name) {? var reg = new RegExp('(^|)' + name + '=([^]*)(|$)', 'i');? var r = window.location.search.substr(1).match(reg);? if (r != null) {? ? return unescape(r[2]);? }? return null;}// 這樣調用:alert(GetQueryString("參數(shù)名1"));? alert(GetQueryString("參數(shù)名2"));? alert(GetQueryString("參數(shù)名3"));
二、split拆分法
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("");
for(var i = 0; i strs.length; i ++) {
? theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();br// var id=Request["id"];
// var 參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)N;
// 參數(shù)1 = Request['參數(shù)1'];
// 參數(shù)2 = Request['參數(shù)2'];
// 參數(shù)3 = Request['參數(shù)3'];
// 參數(shù)N = Request['參數(shù)N'];
三、指定取
比如說一個url:,我們想得到參數(shù)j的值,可以通過以下函數(shù)調用。
function GetQueryString(name) {
var reg = new RegExp("(^|)" + name + "=([^]*)(|$)", "i");
var r = window.location.search.substr(1).match(reg); //獲取url中"?"符后的字符串并正則匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("j"));
四、單個參數(shù)的獲取方法
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字串
if (url.indexOf("?") != -1) {? //判斷是否有參數(shù)
var str = url.substr(1); //從第一個字符開始 因為第0個是?號 獲取所有除問號的所有符串
strs = str.split("=");? //用等號進行分隔 (因為知道只有一個參數(shù) 所以直接用等號進分隔 如果有多個參數(shù) 要用號分隔 再用等號進行分隔)
alert(strs[1]);? ? //直接彈出第一個參數(shù) (如果有多個參數(shù) 還要進行循環(huán)的)
}
}
一、正則法
functiongetQueryString(name) {
varreg = newRegExp('(^|)'+ name + '=([^]*)(|$)', 'i');
varr = window.location.search.substr(1).match(reg);
if(r != null) {
returnunescape(r[2]);
}
returnnull;
}
// 這樣調用:
alert(GetQueryString("參數(shù)名1"));
alert(GetQueryString("參數(shù)名2"));
alert(GetQueryString("參數(shù)名3"));
二、split拆分法
functionGetRequest() {
varurl = location.search; //獲取url中"?"符后的字串
vartheRequest = newObject();
if(url.indexOf("?") != -1) {
varstr = url.substr(1);
strs = str.split("");
for(vari = 0; i strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
returntheRequest;
}
varRequest = newObject();
Request = GetRequest();br// var id=Request["id"];
// var 參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)N;
// 參數(shù)1 = Request['參數(shù)1'];
// 參數(shù)2 = Request['參數(shù)2'];
// 參數(shù)3 = Request['參數(shù)3'];
// 參數(shù)N = Request['參數(shù)N'];
三、指定取
比如說一個url:,我們想得到參數(shù)j的值,可以通過以下函數(shù)調用。
functionGetQueryString(name) {
varreg = newRegExp("(^|)"+ name + "=([^]*)(|$)", "i");
varr = window.location.search.substr(1).match(reg); //獲取url中"?"符后的字符串并正則匹配
varcontext = "";
if(r != null)
context = r[2];
reg = null;
r = null;
returncontext == null|| context == ""|| context == "undefined"? "": context;
}
alert(GetQueryString("j"));
四、單個參數(shù)的獲取方法
functionGetRequest() {
varurl = location.search; //獲取url中"?"符后的字串
if(url.indexOf("?") != -1) {? //判斷是否有參數(shù)
varstr = url.substr(1); //從第一個字符開始 因為第0個是?號 獲取所有除問號的所有符串
strs = str.split("=");? //用等號進行分隔 (因為知道只有一個參數(shù) 所以直接用等號進分隔 如果有多個參數(shù) 要用號分隔 再用等號進行分隔)
alert(strs[1]);???? //直接彈出第一個參數(shù) (如果有多個參數(shù) 還要進行循環(huán)的)
}
}
js中有四種獲取dom的方法:
根據(jù)ID獲取對象:document.getElementById(ID);
根據(jù)class獲取對象數(shù)組:document.getElementsByClassName("box");
根據(jù)tag獲取對象數(shù)組:document.getElementsByTagName("p");
根據(jù)name獲取對象數(shù)組:document.getElementsByName(NAME);
用jquery選擇器就多得去了,一般都用jquery,js一大串代碼用jquery幾個符號搞定。
根據(jù)ID獲取對象:$('#ID');
根據(jù)class獲取對象數(shù)組:$(".box");
根據(jù)tag獲取對象數(shù)組:$("p");;
根據(jù)name獲取對象數(shù)組:$('input[name="nw"]');
用jquery的ajax組件可以很快實現(xiàn)js發(fā)送請求。參考以下JS代碼:
script
$(function(){
var url = "";//你的請求url
//發(fā)起get請求
$.get(url, function(res){
console.log('ajax_get========', res);
},'json');
});
//發(fā)起post請求
var postdata = {
'id':'123'
};//post提交的參數(shù)
$.post(url, postdata, function(res){
console.log('ajax_get========', res);
},'json');
});
/script
JS認為HTML文件會被瀏覽器解析為文檔流,寫在HTML里面的所有標簽元素都可以從文檔流中讀取到?;谶@個理論,JS定義了一個document對象,專門用來處理文檔流。
要想獲取一個元素,有兩種方式:一種是根據(jù)元素的類名(class屬性值),另一種是根據(jù)元素的ID。假設有一個input元素,JS獲取該元素的方式如下:
input class="isInput" id="input_first"
var element=document.getElementByClass("isInput")[0];或者
var element=document.getElementById("input_first");
需要注意的是,根據(jù)類名獲取到的是一個數(shù)組,必須要通過下標才能獲取到具體的某個元素。而根據(jù)ID獲取到的則是具體的元素,所以常用的方式是用ID來獲取。