我有一个很大的项目,在整个项目中仍然存在一些MS ajax函数。我可以使用jquery重写它们,但是现在需要花费很多时间。
但是我们现在使用jquery来实现每个新功能。
看看这个:
$.each($("a[xonclick]"), function (index, value) {
EnableButton(value);
});
function EnableButton(btn) {
...
var xonclick = btn.getAttribute("xonclick");
...
}
当然我收到了javascript错误:
getAttribute is not a function
我知道我可以使用btn.attr("xonclick");
,但这不是我之前提到的选项。
是否有一些jquery函数为jquery对象提供了MS ajax对象?然后我可以使用该对象并将其传递给enableButton函数。
更新:JSFiddle:http://jsfiddle.net/wsYCJ/1/
我希望我解释得很好,你们中的某个人知道解决方案。
谢谢!
答案 0 :(得分:1)
正如您在评论中所说,$get()是ASP.NET AJAX库的一部分,它返回一个增强的DOM元素(实际上是Sys.UI.DomElement的一个实例)。
另一方面,jQuery的$()函数返回一个包装一个或多个DOM元素的jQuery对象。 jQuery对象不支持getAttribute()
,DOM元素支持。
您可以使用get()或索引器语法从jQuery对象获取实际的DOM元素。换句话说,你必须写:
function buttonClicked() {
getAttr($("#test")[0]);
}
而不是:
function buttonClicked() {
getAttr($("#test"));
}
您会找到更新的小提琴here。