Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 如何根据JS中特定的父结构选择元素?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何根据JS中特定的父结构选择元素?

Javascript 如何根据JS中特定的父结构选择元素?,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试编写一个脚本,仅当父结构为div.main-element输入+标签+ul时,它才能获得抓取 有没有合适的方法使用javascript或jquery进行设置? 如果有人能告诉我合适的答案或文档,那绝对是太棒了 我的最终目标是使用append或.replace()将ul>li替换为hr标记 这是我的HTML: <div class='main-element'> <input> <label></label> <

我正在尝试编写一个脚本,仅当父结构为div.main-element输入+标签+ul时,它才能获得抓取

有没有合适的方法使用javascript或jquery进行设置?

如果有人能告诉我合适的答案文档,那绝对是太棒了

我的最终目标是使用append或.replace()将ul>li替换为hr标记

这是我的HTML

<div class='main-element'>
    <input>
    <label></label>
    <ul>
        <li>Example</li>
    </ul>
</div>
<div class='main-element'>
    <input>
    <label></label>
</div>

  • 范例

您可以为jquery调用提供第二个参数,该调用是要从中获取元素的父容器。还有一个执行相同操作的
find
函数

HTML:

另一种方法:

var $secondaryInput = $('.secondary-element').find('input');
上述两个示例将仅返回
辅助元素
div中的输入元素

这回答了你的问题吗

链接:


您可以在jquery中使用以下代码检查您想要的元素是否存在:

if($("div.main-element ul li").length){
//your code
}
这将在您的html示例上执行,接下来您可以使用以下命令修改第一个元素的值:

$("div.main-element ul li").append("blahblahblah");

请注意,这使您可以访问html页面div.main-element>ul中的第一个li标记。

这将使用您的合成获取所有元素,并用hr替换ul>li

var elements = document.querySelectorAll(".main-element input+label+ul li");

for(var i = 0; i < elements.length; i++){
    var parent = elements[i].parentNode.parentNode;
    var ul = elements[i].parentNode;
    ul.parentNode.removeChild(ul);
    var hr = document.createElement("hr");
    parent.appendChild(hr);
}
var-elements=document.queryselectoral(“.main-element-input+label+ulli”);
对于(var i=0;i
请阅读。关键短语:“搜索、研究”和“解释……任何阻碍你自己解决的困难”。
$("div.main-element ul li").append("blahblahblah");
var elements = document.querySelectorAll(".main-element input+label+ul li");

for(var i = 0; i < elements.length; i++){
    var parent = elements[i].parentNode.parentNode;
    var ul = elements[i].parentNode;
    ul.parentNode.removeChild(ul);
    var hr = document.createElement("hr");
    parent.appendChild(hr);
}