欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

javascript如何获取动态生成的元素的value值

更新时间: 2014-01-05 01:50:47 责任编辑: Author_N1

 

javascript怎么获取动态生成的元素的value值?

如图,我想要点击节点的时候弹出节点值(此节点没有子节点)。请问各位大神怎么实现?其中html代码是动态生成的,部分代码如下:
var str = "";
var forTree = function(obj){
for(var i in obj){
var urlstr = "";
var links="#";
//var id=guid();
if(typeof obj[i] == "object"){ //如果有子节点
//alert(i);
urlstr = "<div><span>"+ i +"</span><ul>";
}else{
urlstr = "<div><span><a href="+links+" value="+obj[i]+">"+ i +"</a></span><ul>";
}
str += urlstr;
if(obj[i] != null && typeof obj[i] == "object"){
//alert(obj[i]);
forTree(obj[i]);
}
str += "</ul></div>";
}
return str;
}

/*添加无级树*/
document.getElementById("menuTree").innerHTML = forTree(json);
/*树形菜单*/
var menuTree = function(){
//给有子对象的元素加[+-]
$("#menuTree ul").each(function(index, element) {
var ulContent = $(element).html();
var spanContent = $(element).siblings("span").html();
        if(ulContent){
$(element).siblings("span").html("[+] " + spanContent)
}
    });

$("#menuTree").find("div span").click(function(){
var ul = $(this).siblings("ul");
var spanStr = $(this).html();
var spanContent = spanStr.substr(3,spanStr.length);
if(ul.find("div").html() != null){
if(ul.css("display") == "none"){
ul.show(300);
$(this).html("[-] " + spanContent);
}else{
ul.hide(300);
$(this).html("[+] " + spanContent);
}
}
});

$("#menuTree").find("div span a").click(function(){
alert($('a').val());//我想要在这边弹出点击过后的节点值
alert('===============');
});
/*
$("a").each(function () {
     alert($(this).val() + ":" + $(this).text());
})
*/
}()

--参考方法--
document.getElementById("login").onclick = function(event){
event = event 
--参考方法--
 window.event;
var target = event.srcElement 
--参考方法--
 event.target,
    context = target.innerHTML;
console.log(context);
}


把这个id换成你需要点击的模块的父元素上面试试,没有做其他的处理,你如果需要判断是不是子元素只包含文字,不包含其他标签的话,就去target做判断就行了。

试试看。
--参考方法--
alert($('a').val())
替换如下
alert($(this).html())
--参考方法--
1,那来的val.
2,value='"+obj[i]+"'>"
3,是不是固定了节点层数。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="../lib/jquery/jquery-1.9.1.js"></script>
</head>
<body>
<div id='menuTree'></div>

<script>
var str = "";
var uid=0;
var forTree = function(obj){
for(var i in obj){
var urlstr = "";
var links="#";
//var id=guid();
if(typeof obj[i] == "object"){ //如果有子节点
//alert(i);
urlstr = "<div><span>"+ i +"</span><ul>";
}else{
urlstr = "<div><span><a href="+links+" value='"+obj[i]+"' id='my" +uid +"' >"+ i +"</a></span><ul>";

++uid;
}
str += urlstr;
if(obj[i] != null && typeof obj[i] == "object"){
//alert(obj[i]);
forTree(obj[i]);
}
str += "</ul></div>";
}
return str;
}
var json = {
students:{
manager:{
name:'jo',
job:'wer'
},
student:{
t:'vvd',
tew:'vert'
}
}
};


var $a = forTree(json);
 
 document.getElementById("menuTree").innerHTML = $a;
/*树形菜单*/
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:50:47
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1923/
本文WWW.DOC100.NET DOC100.NET版权所有。