Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于子项的部分名称id隐藏父项div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 基于子项的部分名称id隐藏父项div

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()将不起作

我希望在其子对象为textarea时隐藏父div类“field”

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
元素。请在问题中提供它,以便剪断的元素可以工作。