所以我首先要做的是使用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;
}
答案 0 :(得分:0)
jQuery&#39; .find()并未将选择器本身包含在其搜索中,您必须使用.closest()(以当前元素开头):
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;
答案 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>