jQuery:调用脚本时隐藏元素

jQuery: Hide element when the script called

本文关键字:隐藏 元素 脚本 调用 jQuery      更新时间:2023-09-26

所以,我创建了一个包含HTML和Javascript的文件,这些文件稍后通过AJAX加载。其中一个文件将在加载后隐藏元素,但它不起作用。即使我找到使用文档的元素,也无法通过以下方式完成:

$(document).find("#hiddenelement").hide();

或:

$("#hiddenelement").hide();

或:

$(document).ready(function(e){
    $(document).find("#hiddenelement").hide();
});

或:

$(document).find("#hiddenelement").css("display","none");

.HTML:

<table id="hiddenelement">
    <tr><td><input type='text' id="txInHidden" name="txInHidden" placeholder="Any Words"></td></tr>
</table>

调用 JS 脚本来隐藏元素仅在页面上存在元素时才有效。在您的情况下,这是在通过 ajax 调用附加内容而不是在 dom 加载之后。您需要调用脚本以在附加元素后隐藏代码。

或者,您可以为具有该 id 的元素添加 CSS:

#hiddenelement{
  display : none;
}

它会自动隐藏 id。只需使用:

$(document).ready(function(e){
    $("#hiddenelement").hide();
});

当元素动态加载时,document.ready 函数不会对元素产生影响。在元素加载后调用其中一个 jquery 隐藏函数,它将是 ajax 成功函数

在我把 #hiddenelement 作为子元素后隐藏命令成功。所以HTML和JS看起来像这样:

.HTML:

<div id="divParent">
    <table id="hiddenelement">
        <tr><td><input type='text' id="txInHidden" name="txInHidden" placeholder="Any Words"></td></tr>
    </table>
</div>

.JS:

$(document).find("#divParent #hiddenelement").hide();

但我也无法解释为什么会这样。希望有人能解释一下。我知道我们不能直接修改后来创建的元素,所以我们需要从"文档"中找到它,但这无法解释为什么这种情况仅适用于儿童元素。谢谢。