Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery链接不工作_Javascript_Jquery_Html - Fatal编程技术网

Javascript 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

我有一些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("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");
    });