我有一个已知的document对象<div aa='1' bb='2' ...></div>Div里面的对象是未知的,这样,怎么取得只有Div中才存在的属性?aa,bb等,如果id是div的属性,但没有赋值的话
也不要取出来,这样的东西要怎么实现?????????
也不要取出来,这样的东西要怎么实现?????????
解决方案 »
- 上传多个文件图片显示问题!求高手指导!
- 很简单的问题!怎么把“团结”和“进取”,“友谊”等字放在一个框架下?我的代码出了点小问题!速求各位帮忙!!!!!
- window.setInterval()问题
- 我想学习javascript介绍我点比较好一点的出门书籍,
- 求 一简单正则匹配
- 一种打断被闭包引入的循环引用的窍门是添加另外一个闭包,应该如何理解?
- 一个没见过的运算,求解下
- 请问怎样用代码清空<input type="file" name="file1"> 这里面中的设置的文件名称值,使其清空?
- 把textarea的内容写到数据库中再读出来时不能自动换行和不识别空格,该怎么样处理!
- 怎样向新建窗口写文字?
- 如何解决,才能使Firefox支持表单的验证函数onsubmit呢?
- ExtJs设置节点不可编辑的方法
for(var attr in domobj)
{
//if(条件)
alert(i + ":" + domobj[i]);
}????
这样做,什么都会啊,问题是,aa与bb是未知的啊!
<script type="text/javascript">
function showProp(obj) {
var test = obj; var tagProp = test.outerHTML; var tagName = test.tagName;
var props = tagProp.substring(tagProp.indexOf(tagName) + tagName.length, tagProp.indexOf(">"));
var retArr = {}; var propList = props.split(' '); for (var index = 0; index < propList.length; index++) {
if (propList[index] == null || propList[index] == "") {
continue;
}
var currentProp = propList[index].split('='); while(currentProp[1].indexOf("\"") != -1) {
currentProp[1] = currentProp[1].replace("\"", "");
}
retArr[currentProp[0]] = currentProp[1];
}
return retArr;
}function test() {
var test = document.getElementById('test');
var propList = showProp(test);
for (var prop in propList) {
alert(prop);
alert(propList[prop]);
}
}
</script>
</head><body>
<input type="button" onclick="test();"></input>
<div id="test" aa="b" c=11 name="aa"></div>
</body></html>
你的就和domobj.attributes差不多啊一百多个对象,其实,这中间我一个属性都没有设置!
但像style这样的属性分析起来稍有点麻烦style = " background-image:..."
<script>
window.onload=function(){
var div = document.getElementsByTagName("div")[0];
var s = div.outerHTML;
s = s.replace(/>.*/g,">");
var re = /(\w+)=('|")([^\2]+?)\2/ig;
var m
while((m = re.exec(s))!=null){
alert(m[1] + "的值" + m[3])
}
}
</script>
<div aa='1 2' bb='2 34'><div>xxx</div></div>
$("#Btn1").click(function() {
var attrs = $("div")[0].attributes; //过去div所包含的所有属性,自带的和自定义的
var k = 0;
var Str = "";
for (var i = 0; i < attrs.length; i++) {
if (attrs[i].value.toString() != "null" && attrs[i].value.toString() != "") {//去掉有该属性但无值的情形,但是还是未排除默认的属性
k++;
Str += "第" + k + "个属性" + attrs[i].name + "值:" + attrs[i].value + "\n\r";
}
}
alert(Str); }); });html:<input type="button" id="Btn1" value="测试DIV属性" />
<div id="nn" aa="dd" bb="cc" ii="dd" p="dd" class="dd" align="center" atomicselection="false"
accesskey="d" lang="aa" hidefocus="hidefocus">
</div>
<script>
window.onload=function(){
var div = document.getElementsByTagName("div")[0];
var s = div.outerHTML;
s = s.replace(/>.*/g,">");
var re = /(\w+)="([^"]+?)"/ig;
var a = s.match(re);
if(a!=null){
for(var i=0;i<a.length;i++){
var t = a[i].split("=");
alert(t[0] + "的值" + t[1].substr(1,t[1].length-2));
s = s.replace(a[i],"");
}
}
re = /(\w+)=([\S^>]+)(?=\s|>)/ig;
a = s.match(re);
if(a!=null){
for(var i=0;i<a.length;i++){
var t = a[i].split("=");
alert(t[0] + "的值" + t[1]);
s = s.replace(a[i],"");
}
}
re = /(\s)(\w+?)(?=\s|>)/ig;
a = s.match(re);
if(a!=null){
for(var i=0;i<a.length;i++){
t = a[i].substr(1, s.length)
alert(t + "的值" + t);
}
}
}
</script><div id="nn" aa="dd" bb="cc" ii="dd" p="dd" class="dd" align="center" atomicselection="false" accesskey="d" lang="aa" hidefocus="hidefocus" >
</div>