javascript - 从 HTML 中的 div 列表中单击 div 上的打开 block

标签 javascript jquery html css

<div class="lsiting-main">
  <div class="row">
  <div class="col-md-8">
  <div class="col-md-4 text-right">
    <span class="close-list">
    <span class="funded-list">
    <span class="new-list">
      <div class="technology closedlanguage" headerindex="0h">
          <span class="accordprefix"> </span>
             View Detail Notice
          <span class="accordsuffix"></span>
      </div>
    </div>
</div>
<div class="thelanguage" contentindex="0c" style="display: none;">
   <div align="center">
   <div class="big-listing-details">
</div>
<hr>
</div>
<div class="lsiting-main">
......
</div>
<div class="lsiting-main">
......
</div>

我有 class="listing-main" 列表,我尝试打开 block class="thelanguage"style="display: none;" 点击class="technology closedlanguage"。 但我需要的是,当我点击 class="technology closedlanguage" 时,类将 "closedlanguage" 更改为 "openlanguage" 和样式将 'none' 更改为 'block'

但是当我点击的时候,div 列表中只有一个 block 打开

<script type="text/javascript">
$(document).ready(function () {
    $('.lsiting-main .closedlanguage').click(function (event) {
        event.preventDefault();
        var target = $('.thelanguage');
        $(target).toggleClass('hidden show');
        $('.thelanguage').css('display', 'block');
    })
});

最佳答案

我已经稍微更新了 HTML,如果您愿意使用 JavaScript,请引用下面的代码,它会按您的预期工作。

这是 JSFiddle 链接:Working JS Fiddle Link

JS 代码是:

 <script>
 document.getElementById("technologyclosedlanguage").addEventListener("click", myFunction);

function myFunction(){
            var thelanguage = document.getElementById("thelanguage");
            var technology =  document.getElementById("technologyclosedlanguage");     
            thelanguage.style.display="block";
            technology.className = "technologyopenlanguage";
            alert(technology.className); //class name changed.
}
</script>

HTML 代码是:

    <div class="lsiting-main">
  <div class="row">
  <div class="col-md-8">
  <div class="col-md-4 text-right">
    <span class="close-list">
    <span class="funded-list">
    <span class="new-list">
      <div class="technologyclosedlanguage" id="technologyclosedlanguage" headerindex="0h">
          <span class="accordprefix"> </span>
             View Detail Notice
          <span class="accordsuffix"></span>
      </div>
    </div>
</div>
<div class="thelanguage" id="thelanguage" contentindex="0c" style="display: none;">
   <div align="center">
   <div class="big-listing-details">
       The Language
</div>
<hr>
</div>
<div class="lsiting-main">
......
</div>
<div class="lsiting-main">
......
</div>

让我知道它是否有效,对您有帮助。快乐编码。

关于javascript - 从 HTML 中的 div 列表中单击 div 上的打开 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33539222/

相关文章:

javascript - 根据可用的屏幕空间将动态高度设置为 div

javascript - 无法将一个 Canvas 放在另一个 Canvas 下

javascript - 如何隐藏不在视口(viewport)中的div

javascript - 如何获取浏览器执行javascript后的HTML代码?

javascript - 一个 AngularJS Controller 可以调用另一个吗?

javascript - Node Express Handlebars 帮助程序不返回函数结果

jquery - 如何将日期渲染为 jQuery 日期选择器的链接?

javascript - 替换 keyup 上的值时重置 'input' 元素的光标位置

javascript - jQuery select2 : duplicate tag getting recreated

html - 使用 css 编辑标题