什么';这个jQuery方法有什么问题?
我有这个方法:什么';这个jQuery方法有什么问题?,jquery,Jquery,我有这个方法: function replaceRightClickIcefacesMethod() { var oldName = jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu"); oldName = oldName.replace('Ice.Menu.contextMenuPopup', 'contextMenuPopupUpdated'); jQuery(".singlePaneOfGlassBloc
function replaceRightClickIcefacesMethod() {
var oldName = jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu");
oldName = oldName.replace('Ice.Menu.contextMenuPopup', 'contextMenuPopupUpdated');
jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu", oldName);
}
我不明白为什么Firebug报告:
你看到什么问题了吗?对我来说这很奇怪
更新:请注意,如果我发出警报(oldName),oldName将返回一个函数:
}是否可以删除第三行中的分配?Replace可以返回被替换的条目数
function replaceRightClickIcefacesMethod(){
var oldName = jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu");
oldName.replace('Ice.Menu.contextMenuPopup','contextMenuPopupUpdated');
jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu",oldName);
}
在jQuery1.6之前,
jQuery(“.singlePaneOfGlassBlock”).attr(“oncontextmenu”)
返回函数,因为它返回DOM元素的属性,而不是属性()
这在jQuery1.6()中得到了修复
如果无法使用jQuery 1.6,则必须调用DOM元素:
var oldName = jQuery(".singlePaneOfGlassBlock")[0].getAttribute('onclick');
检查
oldName
是否为null
。初始化后oldName包含什么?replace
未就位。它返回一个新字符串。但无论如何,错误是oldName.replace不是一个函数,这意味着replace
首先不存在。
function replaceRightClickIcefacesMethod(){
var oldName = jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu");
oldName.replace('Ice.Menu.contextMenuPopup','contextMenuPopupUpdated');
jQuery(".singlePaneOfGlassBlock").attr("oncontextmenu",oldName);
}
var oldName = jQuery(".singlePaneOfGlassBlock")[0].getAttribute('onclick');