Javascript 如何选择值属性的值?
我试图通过切换函数隐藏注释及其子项,但我想基于value属性隐藏它们 这是我的js函数: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
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=id
那么您在html文件中使用//注释?那么,实际上,什么都没有发生?开发人员控制台中是否有错误?没有,没有错误,但该元素将被解释为一个散乱的字符串,如果我没有错的话,将显示在html页面上:?html中的注释已完成,而不是QuerySelector。您可以使用getElementsByClass或getElementById,因为我看到您正在使用id
$('.box').on('click', function(){
var value = $(this).attr('value');
alert(value);
});