Jquery 使用另一个 js 脚本访问附加元素 id

发布于 2024-12-06 11:45:38 字数 2197 浏览 1 评论 0原文

我试图在我使用 JQUERY 附加到页面的 HTML 元素上调用 js 函数。

   <body>
        <div id='father'>

        </div>
<input type="submit" value="choice one" onclick='choice_one()'/>    
<input type="submit" value="choice two" onclick='choice_two()'/>    
<input type="submit" value="choice three" onclick='choice_three()'/>    
   </body>

我的 jQuery 在 js 函数中。

   <script>
         function choice_one(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_one_answer' value="" /> 
              <input type="submit" value="submit" onclick='answer_one()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

         function choice_two(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_two_answer1' value="" />    
              <input type="text" id='choice_two_answer3' value="" />    
              <input type="submit" value="submit" onclick='answer_two()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

   </script>

所以第三部分是使用答案和 js,然后重新加载另一个字段。然后加载另一个函数-->新的答案字段。

   <script>
          function answer_one(){

             var answer = document.getElementById('choice_one_answer');

             do something with answer...

           choice_two();

           }

          function answer_two(){

             var answer_one = document.getElementById('choice_two_answer1');

             var answer_two = document.getElementById('choice_two_answer2');


             do something with answer...

          choice_one();

           }

           other functions....

   </script>

因此,当我尝试调用 js 函数(例如 answer_one()/answer_two())时,该函数无法从输入 Id 中获取变量 --->我认为这是因为页面加载时未加载元素!

有没有 jQuery/js 解决方法......有什么想法吗?

对于这样的事情有解决方法吗?

Im trying to call a js function on a HTML element which I have appended to the page using JQUERY.

   <body>
        <div id='father'>

        </div>
<input type="submit" value="choice one" onclick='choice_one()'/>    
<input type="submit" value="choice two" onclick='choice_two()'/>    
<input type="submit" value="choice three" onclick='choice_three()'/>    
   </body>

My jQuery is in a js function..

   <script>
         function choice_one(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_one_answer' value="" /> 
              <input type="submit" value="submit" onclick='answer_one()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

         function choice_two(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_two_answer1' value="" />    
              <input type="text" id='choice_two_answer3' value="" />    
              <input type="submit" value="submit" onclick='answer_two()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

   </script>

So the third part is using the answers and with js then reloading anther field. Then loading another function --> new answer field.

   <script>
          function answer_one(){

             var answer = document.getElementById('choice_one_answer');

             do something with answer...

           choice_two();

           }

          function answer_two(){

             var answer_one = document.getElementById('choice_two_answer1');

             var answer_two = document.getElementById('choice_two_answer2');


             do something with answer...

          choice_one();

           }

           other functions....

   </script>

So when I try to call the js functions eg answer_one()/ answer_two() the function cannot grab the variable from the input Id's ---> i presume their is because the element were not loaded when the page loaded!

Is there a jQuery/ js workaround for this... any thoughts??

Is there a work around for something like this??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千秋岁 2024-12-13 11:45:38

我认为在一行中附加 html 是一种很好的做法,如下所示:

var container = "<div id='field'><form><input type="text" id='choice_one_answer' value="" /><input type="submit" value="submit" onclick='answer_one()'/></form></div>";

没有时间测试任何内容,但是用于访问插入代码的 jQuery 解决方法是 .live()

I think it's a good practice to append html in one line, like this:

var container = "<div id='field'><form><input type="text" id='choice_one_answer' value="" /><input type="submit" value="submit" onclick='answer_one()'/></form></div>";

Don't have the time to test anything, but the jQuery workaround for accessing inserted code is .live()

等待圉鍢 2024-12-13 11:45:38

为什么使用 jQuery 而不是使用 $()/jQuery() 选择器来选择元素?

尝试注释掉 //$('ul#id').remove() 行并将 $('ul#id').size() 转储到控制台为了知道你的元素存在。

Why are you using jQuery but not using $()/jQuery() selector for selecting the element?

Try to comment out the //$('ul#id').remove() line and dupm $('ul#id').size() to console in order to know that your element exists.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文