Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 如何选择值属性的值?_Javascript_Html - Fatal编程技术网

Javascript 如何选择值属性的值?

Javascript 如何选择值属性的值?,javascript,html,Javascript,Html,我试图通过切换函数隐藏注释及其子项,但我想基于value属性隐藏它们 这是我的js函数: function toggle(id, lft, rgt) { var kids = (rgt - lft - 1) / 2; if (kids >= 1) { var element = document.querySelectorAll("div.md#com" + id)[0].getAttribute('value'); var low = Nu

我试图通过切换函数隐藏注释及其子项,但我想基于value属性隐藏它们

这是我的js函数:

function toggle(id, lft, rgt) {
    var kids = (rgt - lft - 1) / 2;
    if (kids >= 1) {
        var element = document.querySelectorAll("div.md#com" + id)[0].getAttribute('value');
        var low = Number(element.split('-')[0]);
        var high = Number(element.split('-')[1]);
        for(var i = low + 1; i <= high - 1; i += 1){
            var x = document.querySelectorAll("div.md#com" + i)[0]
            if (x.style.display === "none") {
                x.style.display = "block";
            } else {
                x.style.display = "none";
            }
        }
    }
这就是结果:

<div>
    <div id="com4" class="md" value="7-10">yellow 
        <a onclick="toggle(4, 7, 10)" href="javascript:void(0)">[-]</a>
    </div>
    <div id="com5" class="md" value="8-9">not collapsing</div> //because of the id but I want to toggle them based on the value attribute
    <div id="com8" class="md" value="10-11">collapses</div>
 </div>
但我想:

<div>
    <div id="com4" class="md" value="7-10">yellow 
        <a onclick="toggle(4, 7, 10)" href="javascript:void(0)">[-]</a>
    </div>
    <div id="com5" class="md" value="8-9">Should collapse</div>
    <div id="com8" class="md" value="10-11">Should not collapse</div>
 </div>
试试这个

<div class="box" name="box1"></div>
<div class="box" name="box2"></div>
<div class="box" name="box3"></div>

$('.box').on('click', function(){
    var value = $(this).attr('name');
  alert(value);
});

假设您想要的行为是,当,然后使用检索范围。 拆分数据范围属性,并记住使用 用于将最小和最大变量分配给已解析的数据范围 浏览所有.com元素: 如果元素与触发器元素的父元素匹配,我们将忽略它 否则,我们将检查它的id是否位于数字范围之内或之外 然后,使用此布尔值确定元素的style.display属性 见下面的概念证明:

const collapseButtons=document.querySelectorAll.collapse'; Array.FromCollapseButton.forEachcollapseButton=>{ collapseButton.addEventListener'click',e=>{ e、 防止违约; //使用ES6解构来指定最小/最大值 const[min,max]=e.target.closest'div.com.dataset.range.split'-'.mapv=>+v; const comments=document.querySelectorAll.com'; Array.fromcomments.forEachcomment=>{ //如果元素与触发器元素的父元素匹配,则不执行任何操作 如果注释===e.target.closest'div.com'{ 回来 } //否则,决定是隐藏还是显示它 const id=+comment.id.substring3; const shoulhide=idmax; comment.style.display=shoulhide?'none':'block'; }; }; }; 黄的 应该崩溃 不应该崩溃
那么您在html文件中使用//注释?那么,实际上,什么都没有发生?开发人员控制台中是否有错误?没有,没有错误,但该元素将被解释为一个散乱的字符串,如果我没有错的话,将显示在html页面上:?html中的注释已完成,而不是QuerySelector。您可以使用getElementsByClass或getElementById,因为我看到您正在使用id
$('.box').on('click', function(){
    var value = $(this).attr('value');
  alert(value);
});