如何在我的代码中选择活动元素?

时间:2019-05-02 05:57:51

标签: javascript jquery

我正在尝试创建一个可重用的函数,可以在按钮组中的第一个和最后一个按钮上调用该函数,以更改中心按钮的innerHTML。按钮组如下所示:|-| 0个卧室| + |。我在选择活动元素(即“-”或“ +”按钮)时遇到了麻烦,因此我可以遍历具有要更改的innerHTML的中央按钮中的跨度。

当我使用element.id作为查询的基础时,它可以工作并且可以访问所需的span元素,但是当我尝试使用active元素作为基础时,它将失败。我需要它是关系性的而不是特定的,因为我将在不同的元素上使用该函数。

这是我的JavaScript:

function incDec(i) {
  var thisElem = document.activeElement;
  var getNum = $(thisElem)
      .parent()
      .parent()
      .children(".disabled")
      .children("span")
      .html();
  var count = Number(getNum);
  if (i.value == "4") {
    count -= 1;
    getNum = count;
    $(thisElem)
      .parent()
      .parent()
      .children(".disabled")
      .children("span")
      .empty()
      .append(count);
  } else if (i.value == "5") {
    count += 1;
    getNum = count;
    $(thisElem)
      .parent()
      .parent()
      .children(".disabled")
      .children("span")
      .empty()
      .append(count);
  } else {
  }

}

这是html:

    <div class="btn-group btn-group-toggle pr-4 pt-3 pb-3" data- 
    toggle="buttons">

        <label for="minButton1" class="btn btn-outline-info plus-minus minus">
            <input class="test" type="radio" name="options" id="minButton1" 
            value="4" onclick="incDec(this)"> -
        </label>

        <label class="btn btn-outline-info info-sect disabled">
            <input type="radio" name="bedrooms" id="bedrooms" 
            autocomplete="off">

                <span class="num" id="beds">0</span> Bedrooms
        </label>

        <label for="plusButton1" class="btn btn-outline-info plus-minus plus">

            <input class="test" type="radio" id="plusButton1" 
            name="formselector" value="5" onclick="incDec(this)"> +
        </label>

    </div>

0 个答案:

没有答案