如何使用父的变量为其id设置父css类的变量?

时间:2017-02-05 22:46:11

标签: javascript html css

所以我首先要做的是使用id的id为父设置一个变量。然后我想使用这个变量来查找父变量的css类并再次设置一个新变量。重要的是将变量用于父ID,因为后来我想用特定的id更改此类的HTML样式。我的JS工作正常,没有“var parent = parentid.find('。parent');”......我不知道出了什么问题。

Array<Optional<String>>
var parentid = document.getElementById('1');
var parent = parentid.find('.parent');
parent.style.background = "yellow";
.parent {
  width: 150px;
  line-height: 2.5ex;
  max-height: 12.5ex;
  border: 1px solid red;
  background: white;
  margin: 10px;
  padding: 10px;
  overflow: hidden;
}

2 个答案:

答案 0 :(得分:0)

jQuery&#39; .find()并未将选择器本身包含在其搜索中,您必须使用.closest()(以当前元素开头):

&#13;
&#13;
var parentid = $('#1');
var parent = parentid.closest('.parent');
$(parent).css('background-color', 'gold');
&#13;
.parent {
  width: 150px;
  background: pink;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent" id="1">
  The CSS 'background-color' property is PINK.
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在您的示例中,只要元素只有一个类,您就可以引用className

var parentid = document.getElementById('1');
var parent = document.getElementsByClassName(parentid.className)[0];
parent.style.background = "yellow";
.parent {
  width: 150px;
  line-height: 2.5ex;
  max-height: 12.5ex;
  border: 1px solid red;
  background: white;
  margin: 10px;
  padding: 10px;
  overflow: hidden;
}
<div class="parent" id="1">
  Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum
</div>