javascript - 以 javascript (jquery) 中的 track div class 和 data-id =""为例

标签 javascript jquery html css ajax

有一个例子

<button id="tri" style='display: block;'>add</button>
        <div id="box" style='display: none;' >

id 跟踪

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

                var e = document.getElementById('box');
                var b = document.getElementById('tri');
                if(e.style.display == 'none')
                    $("#box").slideDown();
                b.style.display = 'none';
            })

需要做同样的事情,以便此按钮仅跟踪 classdata-id

<div class="block_view" data-id="52" style='display: none; ></div>

我试过没用

<button class="editblock" data-id="51">edit</button>

<div class="block_edit" style="display: none;" data-id="51"></div>

<script>
        $('body').on('click', '.editblock', function() {
            var $this = $(this),
                id = $this.attr('data-id'); 
          var b = $('.block_view[data-id=id]');
           if(b.style.display == 'none')
            b.style.display = 'block';
        })
</script>

我做错了什么?

最佳答案

变量 id 包含动态数据,但您将其用作字符串,您应该以正确的方式形成选择器。

b 指的是一个 jQuery 元素,你应该使用 .css()而不是 style 属性。

尝试以下方式:

$('body').on('click', '.editblock', function() {
  var $this = $(this),
  id = $this.attr('data-id'); 
  var b = $('.block_view[data-id='+id+']');
  if(b.css('display') == 'none')
    b.css('display', 'block');
  else b.css('display', 'none');
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<button class="editblock" data-id="51">edit</button>

<div class="block_view" data-id="51" style='display: none;' >block_view</div>

关于javascript - 以 javascript (jquery) 中的 track div class 和 data-id =""为例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57870534/

相关文章:

javascript - 无法将值更新为字符串

javascript - 从另一个 JavaScript 文件中包含 jQuery

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - 从 div 中删除文本

javascript - 如何在每个 & 周围插入跨度

javascript - 如何在 JavaScript 中将 JSON 值分配给 var?

javascript - 当输入类型 = 文件框已填充时更改按钮文本

html - 设置表头和填充数据; Rails 和 SLIM

javascript - 如何限制用户在文本框中输入数字和特殊字符?

javascript - iPad safari 书签 - 为什么需要点击 2 次?