2009-12-02 44 views
0

我试图选择一组div元素并将其高度属性更改为auto。我用做的是,目前的jQuery代码是:使用ASP.net AJAX选择DOM元素类似于JQuery的做法

$("div#TreeView1 td > div").css("height","auto"); 

不幸的是我必须使用MS JavaScript的LIB(尽管我抗议)。我如何使用微软的ASP.net AJAX做类似的事情?

+0

你不能同时包含两个库吗?他们解决不同的问题领域。 –

+0

我的老板希望所有的Web开发人员都使用一个JavaScript框架,以便将来更易于维护。还包括两个js框架会减慢初始网页加载(可能几乎不明显)。不幸的是我有我的手绑:(: – Darwyn

+0

尝试让你的老板阅读此:http://stackoverflow.com/questions/498680/pros-and-cons-of-ms-ajax-vs-jquery-in-an-asp -net-MVC-应用 –

回答

2

直接翻译为$("div#TreeView1 td > div").css("height", "auto")使用ASP.NET AJAX框架提供的工具将是:

var results = []; 

// "#TreeView1 td" 
var tds = $get('TreeView1').getElementsByTagName('td'); 

// would have just used Array.forEach here but 
// MS borked it in debug mode for NodeList 
for(var i=0, leni=tds.length; i < leni; i++) { 
    var td = tds[i]; 
    // "td > div" 
    for(var j=0, lenj=td.childNodes.length; j < lenj; j++) { 
    var node = td.childNodes[j]; 
    if(node.nodeType === 1 && node.nodeName.toLowerCase() === 'div') { 
     results.push(node) 
    } 
    } 
} 

// .css("height", "auto") 
Array.forEach(results, function(element) { 
    element.style.height = 'auto' 
}); 

现在,让老板哪一个他/她宁愿维持。真的,现在去问