Javascript Jquery-脚本冲突
在我的父页面中,我使用jquery操作一个选项卡区域,并将内容(prices.php)加载到其中一个选项卡中。这是该页面上的脚本:Javascript Jquery-脚本冲突,javascript,jquery,html,conflict,Javascript,Jquery,Html,Conflict,在我的父页面中,我使用jquery操作一个选项卡区域,并将内容(prices.php)加载到其中一个选项卡中。这是该页面上的脚本: $(document).ready(function() { $("#tabcontent > div").hide(); // Initially hide all content $("#tabs li:first").attr("id","current"); // Activate first tab $("#tabconten
$(document).ready(function() {
$("#tabcontent > div").hide(); // Initially hide all content
$("#tabs li:first").attr("id","current"); // Activate first tab
$("#tabcontent div:first").fadeIn(); // Show first tab content
$('#tabs a').click(function(e) {
e.preventDefault();
if ($(this).closest("li").attr("id") == "current"){ //detection for current tab
return
}
else{
$("#tabcontent > div").hide(); //Hide all content
$("#tabs li").attr("id",""); //Reset id's
$(this).parent().attr("id","current"); // Activate this
$('#' + $(this).attr('name')).fadeIn(); // Show content for current tab
}
});
$('#prices').load('../prices_test.php?hid=<?php echo $hid;?>');
});
还有
$("a.click<?php echo $i ?>")
我不得不删除“$I”位,因此只要单击其中一个实例,脚本就会对所有实例执行操作。我不想让它这样,但我会把它保存到Mk2版本中。感谢所有回复者。如果将两个或更多jQuery导入到您的页面,则每个实例都可以覆盖以前加载的名称空间。根据内容的加载方式以及加载其他版本的时间,较新的文件可能会覆盖事件绑定到的$namespace。签出函数。这家伙可以做一些事情,他可以将jQuery的实例完全从全局上下文中移除,并将其推送到本地var
var jQ = jQuery.noConflict(true);
jQ('.someClass').click(function(){
// do stuff
});
或者,它可以简单地删除对$
快捷方式的依赖。这意味着我们需要使用jQuery
而不是$
来引用该版本的jQuery
$.noConflict();
jQuery('.someSelector').click(function(){
// more stuff doing
});
尝试将一个类添加到
#tabs a
元素中,并将该类放入选择器。不确定我是否正确理解您的意思。我在所有的中添加了一个类,然后更改了脚本:$('#tabs a.tabby')。单击(函数(e){这似乎可以解决问题。现在这两个选择器不应该冲突,因为它们选择了不同的链接。你是在使用AJAX加载内容吗?然后我用这个$('#prices')加载它。加载('../prices.php?hid='));在document.load之后。
$("#prices").on('click', 'a.click', function() {
var jQ = jQuery.noConflict(true);
jQ('.someClass').click(function(){
// do stuff
});
$.noConflict();
jQuery('.someSelector').click(function(){
// more stuff doing
});