我正在开发一个Web应用程序,其中相同的JSP页面被加载到具有不同参数的同一页面的多个区域。动态javascript是为每个部分构建的,问题是当我在类名上使用jQuery选择器时,我在该JSP的所有实例中返回了该类的所有元素。
我想做的是在动态javascript文件中以某种方式覆盖基础$('。classname')样式选择器以执行类似... $('<%= containerDiv%> .className')的操作没有重新分解所有代码来执行此操作。
我想要更改的所有代码都封装在一个javascript对象中,所以我想在构造函数中执行此操作。
提前致谢。
编辑:
在伪代码中,我正在寻找的是......
$(regularConstructor) = $(localVar + ' ' + regularConstructor);
答案 0 :(得分:1)
您可以尝试不生成,但只需将选择器中的上下文作为第二个参数。
这将是这样的:
var widget = $("<div/>"); //Creating dom node
/*
Or you can get it by your dinamic id:
widget = $("<%=containerDiv%>");
*/
widget.html("<div class='classname'>111</div>"); //Filling it with content
widget.appendTo("body"); //Inserting it to document
$(".classname", widget).fadeOut(); //working with elements inside your widget
并且你有一个可以在脚本中使用的Dom节点链接,而选择器中没有冲突。