RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 767295
Accepted
Randall
Randall
Asked:2020-01-06 20:41:20 +0000 UTC2020-01-06 20:41:20 +0000 UTC 2020-01-06 20:41:20 +0000 UTC

迭代数组的第一个元素

  • 772

$(".room-guests-count").click(function(e){
	$(".form-open").toggle();
	e.stopPropagation();
});
$('.form-open').click(function(e) {
  e.stopPropagation();
});
$(document).click(function() {
  $('.form-open').hide();
});

const room = document.querySelector('.room-guests-count');
const form = document.querySelector('.form-open');
const adultsChildren = document.querySelector('.adults-children');
const adultsChildrenWrapper = document.querySelector('.adults-children-wrapper');

// let roomCount = document.querySelectorAll("room-count");
let roomCount = document.querySelectorAll(".room-count");

   
// roomCount.style.backgroundColor = "red";

let formIsOpened = false;

room.onclick = () => {
  if(!formIsOpened) {
    form.style.display = 'block'
  } else {
    form.style.display = 'none'
  }
  formIsOpened = !formIsOpened;
}
const toggleRoom = () => {
  const addRoomButton = document.querySelector('#add-room');
  const removeRoomButton = document.querySelector('#remove-room');
  const countRoom = document.querySelector('.form-text');
  
  const addSection = () => {
    const wrapper = document.createElement("div"); //Создает новый элемент с указанным тегом:
    wrapper.className = "adults-children-wrapper"; // имя класса добавить к елементу
    // const template = adultsChildrenWrapper.innerHTML; // значение  adultsChildrenWrapper присваивается к template
    wrapper.innerHTML = adultsChildrenWrapper.innerHTML; // значение  adultsChildrenWrapper присваивается к wrapper                
    adultsChildren.appendChild(wrapper);
    
      
  }
  const removeSection = () => {
    adultsChildren.lastChild.remove();
  }
  
  addRoomButton.onclick = () => {
    if(countRoom.value == 4) return;
    countRoom.value++;

    roomCount[0].textContent++;

    // roomCount.textContent++;
    // if (countRoom.value >= 2)
    addSection();
    
  }

  removeRoomButton.onclick = () => {
    if(countRoom.value == 1) return;
    countRoom.value--;
    roomCount[0].textContent--;
    
    removeSection();
  }
  
  
}
toggleRoom();
* {
  background:lightblue;
}
/*ROOM GUESTS COUNT*/
.room-guests-count {
	width: 17.2%;
	cursor: pointer;
	margin-right: 4%;
	background: #fff;
	float: right;
	height: 66px;
	margin-right: 149px;
}
.form-open {
	display: none;
	position: absolute;
	z-index: -1;
	top: 110px;
	background-color: #fff;
	height: auto;
	right: -8px;
	width: 348px;
}

.form-open:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-bottom: 10px solid #fff;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	right: 300px;
	top: -10px;
}
.room-guests-content {
	padding-top: 23px;
	padding-left: 15px;
}
.click_hidden_text {
	position: absolute;
	z-index: 1;
	left: 163px;
	top: 56px;
	opacity: 0.8;
}
.form-search {
	padding: 0;
	margin: 10px 10px 5px 10px;
	
}
.form-item {
	padding: 10px 5px;
	clear: both;
	height: 14px;
}
.edit-rooms {
	font-weight: normal;
	font-size: 13px;
	float: left;
	color: #000;
	margin-right: 5px;
}
.rooms-guests-plus {
	float: right;
	color: #fff;
	background:#ccc;
	width: 24px;
	height: 24px;
	text-align: center;
	line-height: 24px;
	top: -6px;
	position: relative;
	font-size: 18px;
	cursor: pointer;
}
.form-text {
	text-align: center;
	width: 6%;
	width: 20px !important;
	text-decoration: center;
	float: right;
	border:0;
	padding: 0;
	height: auto;
	outline: 0;
	vertical-align: middle;
}
.textfield label {
	margin-right: 2.5px;
	display: inline;
	font-size: 13px;
}
.children-1 label {
	display: inline;
	font-size: 13px;
}
.rooms-guests-minus {
	float: right;
	color: #fff;
	background:#e7e7e7;
	width: 24px;
	height: 24px;
	text-align: center;
	line-height: 24px;
	top: -6px;
	position: relative;
	font-size: 18px;
	cursor:auto;
}
.adults-children {
	clear: both;
}
.rooms-id {
	line-height: 40px;
	float: left;
	padding:5px 0 0 15px;
	color: #000;
}
.already-min {
	float: right;
	margin: -16px 0px 2px 6px;
	padding: 0;
	background: #fff;
}
.already-min-search {
	float: right;
	margin: 5px 10px 5px 2px;
}
.adults-children-wrapper {
	clear: both;
}
.children-1 {
	padding: 10px 5px;
	clear: both;
	height: 14px;
}
.edit-children {
	font-weight: normal;
	font-size: 13px;
	float: left;
	color: #000;
	margin-right: 5px;
}
.textfield {
	clear: both;
	height: 14px;
	margin: 0;
	position: relative;
	margin-top: 32px;
}
/*FORM FINISHED*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="room-guests-count">
  <div class="room-guests-content">
    Взрослых
    <span class="ga-count">2</span>
    , Детей 
    <span class="children-count">0</span>
  </div>
</div>
<div class="form-open">
  <div class="form-search">
    <div class="form-item">
      <label class="edit-rooms">Количество номеров</label>
      <div class="rooms-guests-plus" id="add-room">+</div>
      <input type="text" name="rooms" max="9" min="1" maxlength="128" class="form-text" value="1" size="60" readonly="readonly">
      <div class="rooms-guests-minus" id="remove-room">-</div>
    </div>
  </div>
  <div class="adults-children">
    <div class="adults-children-wrapper">
      <div class="rooms-id">Номер <span class="room-count">1</span>:</div>
      <div class="already-min-search">
        <div class="children-1">
          <label for="edit-children">Детей</label>
          <div class="rooms-guests-plus">+</div>
          <input type="text" name="childrenqt" value="0" max="5" min="0" maxlength="5" size="60" maxlength="128" class="form-text">
          <div class="rooms-guests-minus">-</div>
        </div>
      </div>
      <div class="already-min">
        <div class="textfield">
          <label for="edit">Взрослых</label>
          <div class="rooms-guests-plus">+</div>
          <input type="text" name="edit" value="2" max="10" min="0" maxlength="5" size="60" maxlength="128" class="form-text">
          <div class="rooms-guests-minus">-</div>
        </div>
      </div>
    </div>
  </div>
</div>

大家好,有这么简单的代码,当你点击+的时候,同步创建了一个block,加上,你可以看到,第一个元素统计了所有block的个数。其他所有block都稳定工作。我什么都试过了知道修复它,包括 for 循环

for(var i = 1;i < roomCount.length;i++){
   roomCount[i].textContent++;
}

请帮帮我

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Akubik
    2020-01-07T06:10:46Z2020-01-07T06:10:46Z

    为了让它工作,只需尝试这个选项:

    • 添加(即我们已经更改了复制的 Wrapper 的内容,而不是原始内容adultsChildren.appendChild(wrapper)) .querySelector(".room-count").innerText = countRoom.value;
    • 并且roomCount[0].textContent++;通常roomCount[0].textContent--; 删除

    我知道这是一个实验代码,但是现在里面有很多多余的东西

    $(".room-guests-count").click(function(e){
    	$(".form-open").toggle();
    	e.stopPropagation();
    });
    $('.form-open').click(function(e) {
      e.stopPropagation();
    });
    $(document).click(function() {
      $('.form-open').hide();
    });
    
    const room = document.querySelector('.room-guests-count');
    const form = document.querySelector('.form-open');
    const adultsChildren = document.querySelector('.adults-children');
    const adultsChildrenWrapper = document.querySelector('.adults-children-wrapper');
    
    // let roomCount = document.querySelectorAll("room-count");
    let roomCount = document.querySelectorAll(".room-count");
    
       
    // roomCount.style.backgroundColor = "red";
    
    let formIsOpened = false;
    
    room.onclick = () => {
      if(!formIsOpened) {
        form.style.display = 'block'
      } else {
        form.style.display = 'none'
      }
      formIsOpened = !formIsOpened;
    }
    const toggleRoom = () => {
      const addRoomButton = document.querySelector('#add-room');
      const removeRoomButton = document.querySelector('#remove-room');
      const countRoom = document.querySelector('.form-text');
      
      const addSection = () => {
        const wrapper = document.createElement("div"); //Создает новый элемент с указанным тегом:
        wrapper.className = "adults-children-wrapper"; // имя класса добавить к елементу
        // const template = adultsChildrenWrapper.innerHTML; // значение  adultsChildrenWrapper присваивается к template
        wrapper.innerHTML = adultsChildrenWrapper.innerHTML; // значение  adultsChildrenWrapper присваивается к wrapper                
        
          adultsChildren.appendChild(wrapper).querySelector(".room-count").innerText = countRoom.value;
          
      }
      const removeSection = () => {
        adultsChildren.lastChild.remove();
      }
      
      addRoomButton.onclick = () => {
        if(countRoom.value == 4) return;
        countRoom.value++;
    
        
    
        // roomCount.textContent++;
        // if (countRoom.value >= 2)
        addSection();
        
      }
    
      removeRoomButton.onclick = () => {
        if(countRoom.value == 1) return;
        countRoom.value--;
       
        
        removeSection();
      }
      
      
    }
    toggleRoom();
    * {
      background:lightblue;
    }
    /*ROOM GUESTS COUNT*/
    .room-guests-count {
    	width: 17.2%;
    	cursor: pointer;
    	margin-right: 4%;
    	background: #fff;
    	float: right;
    	height: 66px;
    	margin-right: 149px;
    }
    .form-open {
    	display: none;
    	position: absolute;
    	z-index: -1;
    	top: 110px;
    	background-color: #fff;
    	height: auto;
    	right: -8px;
    	width: 348px;
    }
    
    .form-open:after {
    	content: '';
    	position: absolute;
    	width: 0;
    	height: 0;
    	border-bottom: 10px solid #fff;
    	border-left: 10px solid transparent;
    	border-right: 10px solid transparent;
    	right: 300px;
    	top: -10px;
    }
    .room-guests-content {
    	padding-top: 23px;
    	padding-left: 15px;
    }
    .click_hidden_text {
    	position: absolute;
    	z-index: 1;
    	left: 163px;
    	top: 56px;
    	opacity: 0.8;
    }
    .form-search {
    	padding: 0;
    	margin: 10px 10px 5px 10px;
    	
    }
    .form-item {
    	padding: 10px 5px;
    	clear: both;
    	height: 14px;
    }
    .edit-rooms {
    	font-weight: normal;
    	font-size: 13px;
    	float: left;
    	color: #000;
    	margin-right: 5px;
    }
    .rooms-guests-plus {
    	float: right;
    	color: #fff;
    	background:#ccc;
    	width: 24px;
    	height: 24px;
    	text-align: center;
    	line-height: 24px;
    	top: -6px;
    	position: relative;
    	font-size: 18px;
    	cursor: pointer;
    }
    .form-text {
    	text-align: center;
    	width: 6%;
    	width: 20px !important;
    	text-decoration: center;
    	float: right;
    	border:0;
    	padding: 0;
    	height: auto;
    	outline: 0;
    	vertical-align: middle;
    }
    .textfield label {
    	margin-right: 2.5px;
    	display: inline;
    	font-size: 13px;
    }
    .children-1 label {
    	display: inline;
    	font-size: 13px;
    }
    .rooms-guests-minus {
    	float: right;
    	color: #fff;
    	background:#e7e7e7;
    	width: 24px;
    	height: 24px;
    	text-align: center;
    	line-height: 24px;
    	top: -6px;
    	position: relative;
    	font-size: 18px;
    	cursor:auto;
    }
    .adults-children {
    	clear: both;
    }
    .rooms-id {
    	line-height: 40px;
    	float: left;
    	padding:5px 0 0 15px;
    	color: #000;
    }
    .already-min {
    	float: right;
    	margin: -16px 0px 2px 6px;
    	padding: 0;
    	background: #fff;
    }
    .already-min-search {
    	float: right;
    	margin: 5px 10px 5px 2px;
    }
    .adults-children-wrapper {
    	clear: both;
    }
    .children-1 {
    	padding: 10px 5px;
    	clear: both;
    	height: 14px;
    }
    .edit-children {
    	font-weight: normal;
    	font-size: 13px;
    	float: left;
    	color: #000;
    	margin-right: 5px;
    }
    .textfield {
    	clear: both;
    	height: 14px;
    	margin: 0;
    	position: relative;
    	margin-top: 32px;
    }
    /*FORM FINISHED*/
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="room-guests-count">
      <div class="room-guests-content">
        Взрослых
        <span class="ga-count">2</span>
        , Детей 
        <span class="children-count">0</span>
      </div>
    </div>
    <div class="form-open">
      <div class="form-search">
        <div class="form-item">
          <label class="edit-rooms">Количество номеров</label>
          <div class="rooms-guests-plus" id="add-room">+</div>
          <input type="text" name="rooms" max="9" min="1" maxlength="128" class="form-text" value="1" size="60" readonly="readonly">
          <div class="rooms-guests-minus" id="remove-room">-</div>
        </div>
      </div>
      <div class="adults-children">
        <div class="adults-children-wrapper">
          <div class="rooms-id">Номер <span class="room-count">1</span>:</div>
          <div class="already-min-search">
            <div class="children-1">
              <label for="edit-children">Детей</label>
              <div class="rooms-guests-plus">+</div>
              <input type="text" name="childrenqt" value="0" max="5" min="0" maxlength="5" size="60" maxlength="128" class="form-text">
              <div class="rooms-guests-minus">-</div>
            </div>
          </div>
          <div class="already-min">
            <div class="textfield">
              <label for="edit">Взрослых</label>
              <div class="rooms-guests-plus">+</div>
              <input type="text" name="edit" value="2" max="10" min="0" maxlength="5" size="60" maxlength="128" class="form-text">
              <div class="rooms-guests-minus">-</div>
            </div>
          </div>
        </div>
      </div>
    </div>

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5