html JS中如何获取某ID下的某个标签的某个属性值

html JS中如何获取某ID下的某个标签的某个属性值,第1张

1JS方法

<script>windowonload=function(){

var va = documentgetElementById("d1")childNodes;

for(var i=0;i<valength;i++){

if(va[i]nodeNametoLocaleUpperCase() == "A"){

alert("JS: "+va[i]attributes["linkId"]nodeValue);

}

}

};

</script>

2 Jquery方法:

<script src="jquery-191minjs" type="text/javascript"></script>

<script>

$(document)ready(function(){

$("#d1 a")each(function(){

alert("Jquery: "+$(this)attr("linkId"));

});

});

</script>

JS 获取HTML标签内的子节点的方法

子节点的个数:

documentgetElementById("id")childNodeslength  

注意: 标签开/闭合算2个节点 第几个子几点:

documentgetElementById("id")childNodes[n]  

示例:

这里是 length-4 处,margin-left:20px

输出:length=8

实例:

<div id="page_kx" style="text-align: center;" class="tac">    <span class="fy2">1</span>  <a href="#">2</a>  <a href="#">3</a>  <a href="#">4</a>  <a href="#">5</a>  <a href="#">下一页</a>  <a href="#">末页</a>  </div>    <script>  var gor=documentgetElementById("page_kx");  var gorL=Number(gorchildNodeslength)-4;  gorchildNodes[gorL]stylemargin="0 0 0 20px";  </script>  

下面用 jQuery 将全部 url 和 文本分别添加到两个数组里面。

其实两个数组是一样的,因为你从数据库输出的时候应该是用的同一个 url 变量输出两次,结果都是类似 aaacom 这样的。

<script type="text/javascript">

$(function() {

var labels = [], urls = [];

$("form[name=frmsearchedresult] a[href^='whois']")each(function(){

labelspush($(this)text());

urlspush($(this)attr("href")replace(/^whois\asp\domain=/, ""));

});

// ["", "baiducom", "googlecn", "sinacomcn", "yahoocom", "163com"]

alert(labels);

// ["", "baiducom", "googlecn", "sinacomcn", "yahoocom", "163com"]

alert(urls);

});

</script>

原生方法:

var el = documentgetElementById('test_el');

elpreviousElementSibling; // 这就是元素的前一个兄弟节点

elnextElementSibling; // 这就是元素的后一个兄弟节点

用原生js的话可以用nextSibling,不过需要判断获取到的节点是不是标签元素,因为有可能你获取到的实际是2个标签之间的空格。

例如:<span id="sp_1"></span><span id="sp_2"></span>

用var span1=documentgetElementById('sp_1');获取到第一个标签后,再

var span2=span1nextSibling;

while(span2nodeType != 1){ span2=span2nextSibling;}这样循环知道找到nodeType为1的节点(即是下个标签)。

需要监听具体事件

列如 页面单击事件 单击不同元素 显示出HTML标签的名称(大写)

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<input type="text">

<button>ok</button>

<div style="height: 100px;weight:100px;background: orange"></div>

</body>

<script type="text/javascript">

windowaddEventListener('click',function  () {

alert(eventsrcElementnodeName);

})

</script>

</html>

1、用 childNodes 属性,按顺序取

实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。

//pId 待取节点父节点序号

//cId 待取节点序号

function getXmlNodeValue(pId, cId) {

var xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

xmlDocasync = false;

xmlDocload("employeeInfoxml");

var nodes = xmlDocdocumentElementchildNodes[pId]childNodes[cId];return nodeschildNodes[0]text;

}

调用方法:alert(getXmlNodeValue(1, 2));

2、用 for 循环来取

实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。

//nodeValue 待取节点的所属节点值

function getXmlNodeValueFor(nodeValue){

var xmlDoc; 

try { 

//创建一个 ie 支持的 XML 文档对象 

xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

}catch(e){

try{

//创建FireFox空的XML文档对象

xmlDoc=documentimplementationcreateDocument("","",null);

}catch(e){

alert(emessage);

return "";

}

}

xmlDocasync = false;

try { 

xmlDocload("employeeInfoxml");

}catch(e){

alert(emessage);

return "";

}

var xd=xmlDocdocumentElementchildNodes;

if(xd==null)

return "";

var tempValue;

for(var i=0;i<xdlength;i++){

if(xd[i]childNodes[0]childNodes[0]nodeValue==nodeValue) tempValue=xd[i]childNodes[2]childNodes[0]nodeValue;

}

return tempValue;

}

调用方法:alert(getXmlNodeValueFor("王佳琳"));

以上就是关于html JS中如何获取某ID下的某个标签的某个属性值全部的内容,包括:html JS中如何获取某ID下的某个标签的某个属性值、求救一个用JS或jquery获取一个指定from里面A标签的href的URL字符串和A中间的文本。、js怎么获取某个标签的前一个标签等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9721750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存