将扫描转换为类名 JavaScript 块以使用 jQuery
Convert Scanning For className JavaScript block to use jQuery
我有一个小块,我想转换为使用jQuery来实现几个不同的目的,但主要是逆向工程它的工作原理,以提高我的jQuery技能。我尝试尝试一下,但无法弄清楚所有的转换。
以下Javascript
块遍历 ASP.NET TreeView 控件客户端中呈现的复选框,并使用className=disabledTreeviewNode
扫描复选框(此等效功能无法单独实现服务器端)。
function DisableCheckBoxes(treeviewClientID) {
var treeView = document.getElementById(treeviewClientID);
if (treeView) {
//Get all the checkboxes which are 'inputs' in the treeview
var childCheckBoxes = treeView.getElementsByTagName("input");
//Iterate through the checkboxes and disable any checkbox that has a className="disabledTreeviewNode"
for (var i = 0; i < childCheckBoxes.length; i++) {
var textSpan = childCheckBoxes[i].parentNode.getElementsByTagName("span")[0];
if (textSpan != null && textSpan.firstChild)
if (textSpan.className == "disabledTreeviewNode" || textSpan.firstChild.className == "disabledTreeviewNode")
childCheckBoxes[i].disabled = true;
}
}
}
我尝试更改以下内容:
var treeView = document.getElementById(treeviewClientID);
自
var treeView = $('#' + treeviewClientID);
但是,那时我不能再打电话给getElementsByTagName
了。我尝试使用.find
的jQuery等效,但随后代码的行为开始不同,我有点迷茫。
任何人都可以帮助转换这个小块以使用 jQuery?欢迎评论这是否值得,或者是否有更好的方法。
编辑:此class=disabledTreeviewNode
被分配在服务器端,如下所示:
tn.Text = "<span class=disabledTreeviewNode>" + tn.Text + "</span>";
这有点像黑客/标志,因此客户端代码可以读取它并将其设置为父级,即复选框disabled
。为什么是父母?我无法直接在代码中的复选框上设置类,因为该属性不可访问。技巧:将TreeView
对象的.Text
设置为具有<span class=disabledTreeviewNode>
值,然后将其父级(复选框)设置为禁用的客户端。
jQuery 对象的许多方法在幕后调用.each()
方法,因此您不必遍历集合,jQuery 会为您执行此操作。
$('#' + treeviewClientID + ' input').filter(function() {
return $(this.parentNode).find('.disabledTreeviewNode').length;
}).prop('disabled', true);
$('#' + treeviewClientID + ' span:has(.disabledTreeviewNode) input')
.prop('disabled', true);
相关文章:
- jQuery/Javascript.toggleClass/.classList.toggle的特殊行为
- 学生搜索项目jquery/javascript
- jQuery/JavaScript在线公文包表单-打印样式表
- 如何在页面加载中使用Jquery/Javascript确定img源
- DataTables合并了两个独立表中的jQuery/Javascript函数
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- 如何在jquery+javascript中只在输入框中输入数字(使用regex)
- 在Jquery/Javascript中的Array中插入Textbox值
- 使用Jquery/Javascript替换CSS属性
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 在for循环中未获取JQuery/JavaScript对象值
- 使用jQuery/Javascript在Facebook上发送消息
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 使用jQuery+Javascript识别一个空文本节点
- jquery/javascript字符串中的撇号
- jQuery/Javascript在内容可编辑的当前段落后插入元素
- 在页面加载时激活jQuery/Javascript函数
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- Jquery/Javascript使用IF/ELSE语句更改img SRC