Javascript jQuery链接不工作
我有一些jQuery可以生成链接,但是这些链接应该会触发更多的jQuery,但是它们不会,下面是代码:Javascript jQuery链接不工作,javascript,jquery,html,Javascript,Jquery,Html,我有一些jQuery可以生成链接,但是这些链接应该会触发更多的jQuery,但是它们不会,下面是代码: $(".divisionLinks").click(function () { $('.show_hide_division').show(); $('.show_hide_main').html($(this).html()+ " is Selected"); //Load the division xml var xmlDoc=new ActiveXObject("Mic
$(".divisionLinks").click(function () {
$('.show_hide_division').show();
$('.show_hide_main').html($(this).html()+ " is Selected");
//Load the division xml
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("xml//division//"+ $(this).html() + ".xml");
theEnvNodes = xmlDoc.getElementsByTagName('ENVIRONMENT');
//Make the html
theNewHTML = "<ul>";
for (i = 0; i<theEnvNodes.length; i++){
theNewHTML = theNewHTML + "<li><a class=\"environmentLinks\" href=\"#\">";
theNewHTML = theNewHTML + theEnvNodes[i].childNodes[0].childNodes[0].nodeValue;
theNewHTML = theNewHTML + "</a></li>";
}
theNewHTML = theNewHTML + "</ul>";
$('.environmentButtons').html(theNewHTML);
});
$(".environmentLinks").click(function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
$(“.divisionLinks”)。单击(函数(){
$('.show_hide_division').show();
$('.show_hide_main').html($(此).html()+“已选中”);
//加载分区xml
var xmlDoc=新的ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=“false”;
load(“xml//division/”+$(this.html()+”.xml”);
theEnvNodes=xmlDoc.getElementsByTagName('ENVIRONMENT');
//制作html
NEWHTML=“”;
对于(i=0;i),您必须使用例如:
$(".environmentLinks").live('click', function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
或:
我认为,这是因为环境链接是稍后生成的,并且您的单击函数绑定到DOM
试试这个:
$(".environmentLinks").live("click", function(){
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
这将“刷新”您的单击事件。因为您正在动态添加.environmentLinks,所以您的单击事件不会被附加,因为加载页面时这些链接不存在。如果您使用的是最新版本的jQuery,请使用.on()
将单击事件绑定到.environmentLinks链接
$("body").on('click', '.environmentLinks', function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
理想情况下,您希望将$(“body”)替换为比body元素更接近它的父元素.environmentLinks
事件处理程序仅绑定到当前选定的元素;它们
在代码调用.on()时页上必须存在。
要确保元素存在并且可以选择,请执行事件
在文档就绪处理程序中为
页面上的HTML标记。如果正在将新HTML注入页面,
选择元素并在创建新HTML后附加事件处理程序
放置到页面中。或者,使用委派事件附加事件
处理程序,如下所述
已弃用,请阅读API。应使用jQuery 1.7之前的版本,并应使用1.7+版本。欢迎使用,我在中犯了一点语法错误。在()
示例中,我已对其进行了编辑:)
$("body").on('click', '.environmentLinks', function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});