检查是否存在动态插入的输入字段

时间:2018-07-08 19:00:46

标签: javascript jquery

我有一个脚本,添加了一个按钮,该按钮将打开一个窗口,允许我们设计T恤。我最想做的就是包括他们的脚本,按钮会自动添加。

下面是动态添加到页面中的代码。

<input id="design_edit_btn" class=" btn btn-success btn-block" value="Edit the design" type="button">

我需要做的是,如果该按钮可用,则显示一条消息,说明其可自定义,否则无法自定义显示。

我尝试了以下代码

if($("#design_edit_btn").length) {

alert("exists");
}

我做了一些研究,但找不到实现此目标的方法。有人可以让我知道如何做到吗?

谢谢

4 个答案:

答案 0 :(得分:1)

您可能需要等待脚本被加载并执行。

尝试在文档完成后等待并执行以下操作:

jQuery(($) => {
  if($("#design_edit_btn").length) {
    alert("exists");
  }
} );

一旦文档准备好,jQuery就会触发给定的回调。如果还是不行,您也可以尝试添加setTimeout

答案 1 :(得分:1)

由于您要查找的button是由外部脚本创建的,因此该脚本很可能在DOM准备就绪时尚未完成,因此即使在$(document).ready(),您也找不到它

您可以尝试使用脚本标记的onload,并在触发脚本时检查button,就像我在此处所做的那样,在加载jQuery时触发console.log

注意,脚本的顺序很重要

堆栈片段

<script>
function checkForjQuery() {

  console.log('jQuery loaded');

}

function checkForButton() {

  if ($("#design_edit_btn").length) {
    alert("exists");
  }
}
</script>

<script  onload="checkForjQuery()" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!--  temp. commented out
<script  onload="checkForButton()" src="your_script_path"></script>
-->

答案 2 :(得分:0)

您尝试过这样的事情吗?

<?php

   function test_theme(){
    wp_enqueue_style("customestyle", get_stylesheet_uri() )

   }

add_action( 'wp_enqueue_scripts', 'test_theme' );

答案 3 :(得分:0)

这应该可以解决问题

if ($("#design_edit_btn").length > 0) {
  alert("exists");
}