Javascript 基于子项的部分名称id隐藏父项div
我希望在其子对象为textarea时隐藏父div类“field”Javascript 基于子项的部分名称id隐藏父项div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我希望在其子对象为textarea时隐藏父div类“field” var child=document.querySelector('[id^=booked textarea段落文本-]').id; var parent=child.parents('div'); console.log(子级); console.log(父级) 雷马克·文图尔: 您的JS代码看起来相当混乱。例如,此将引用窗口,而不是预期的任何特定元素。另外,child将是一个字符串,因此对其调用parents()将不起作
var child=document.querySelector('[id^=booked textarea段落文本-]').id;
var parent=child.parents('div');
console.log(子级);
console.log(父级)代码>
雷马克·文图尔:
您的JS代码看起来相当混乱。例如,此
将引用窗口
,而不是预期的任何特定元素。另外,child
将是一个字符串,因此对其调用parents()
将不起作用
如果您愿意使用jQuery,那么您可以在一行中使用:has
选择包含textarea
子元素和hide()
来解决这个问题
$('.field:has(textarea)').hide()代码>
雷马克·文图尔:
试试这段代码
$("textarea[name='paragraph-text-label---3501121']").closest("div.field").css("display", "none"); // it is not good practice to use name like this. "paragraph-3501121" this could be better one
在纯javascript中,您可以使用类似的东西,试试看它是否能帮助您
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<div class="field">
<label class="field-label">Remarque éventuelle :</label><br/>
<textarea id="booked-textarea-paragraph-text-label---3501121" data-calendar-
id="19" name="paragraph-text-label---3501121"></textarea>
<br>
<button id="button">Hide this</button>
</div>
<script type="text/javascript">
let child =document.getElementById("booked-textarea-paragraph-text-label--
-3501121");
let parent =child.parentNode;
let button =document.getElementById("button");
button.addEventListener("click",function({
parent.style.display ="none";
})
</script>
雷马克·文图尔:
把这个藏起来
let child=document.getElementById(“预定文本区域段落文本标签--”
-3501121");
让parent=child.parentNode;
let button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”),函数({
parent.style.display=“无”;
})
没有父元素li
元素。请在问题中提供它,以便剪断的元素可以工作。