jQuery没有针对id

时间:2017-05-04 15:37:03

标签: javascript jquery html css ajax

我有一个页面,其中有一些文本需要使用两种语言。这是我的代码:



$('#english').hide();

$('#enButton').on('click', function() {

  $('#english').fadeIn();
  $('#french').fadeOut();

});

#french {
  margin-top: 40px;
}

#english {
  display: block;
  position: absolute;
  top: 90px;
  left: 150px;
}

#frButton {
  top: 30px;
  left: 145px;
  position: absolute;
  cursor: pointer;
}

#enButton {
  top: 30px;
  position: absolute;
  right: 135px;
  cursor: pointer;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="content">
  <div id="container">
    <div id="about" class="sections">
      <div id="frButton">
        <p>FRA</p>
      </div>
      <div id="enButton">
        <p>ENG</p>
      </div>
      <div id="textContainer">
        <div id="french">
          <p>Text in French.... </p>
        </div>
        <div id="english">
          <p>Text in English...</p>
        </div>
      </div>
      <!-- end of textContainer -->
    </div>
  </div>
  <!-- end of content -->
</section>
<!-- end of container -->
&#13;
&#13;
&#13;

最后两条规则适用于按钮。当你点击&#34;英语&#34;按钮我想触发一些jQuery隐藏法语文本并使英语出现,然后当你点击&#34; frButton&#34;时反之。但这不起作用,我将两个文本作为方法

相互叠加
$( '#english' ).hide();

甚至没有工作。我现在已经在这一个小时了,而且#english id并不是针对性的。有什么想法吗?

&#34;关于&#34;的内容顺便使用ajax加载。

1 个答案:

答案 0 :(得分:-1)

$( '#english' ).hide();

无效,因为页面加载时不存在#english。 你的活动应该是这样写的:

$('#about').on('click', '#enButton', function(){});

您无法将事件附加到ajax中加载的元素,将其附加到启动时的父级,然后定位按钮。