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

时间:2011-09-26 07:24:00

标签: javascript jquery function append getelementbyid

我试图在使用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然后重新加载其他字段。然后加载另一个函数 - &gt;新的答案字段。

   <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中获取变量---&gt;我认为他们是因为加载页面时没有加载元素!

是否有jQuery / js解决方法...任何想法?

是否有类似这样的事情?

2 个答案:

答案 0 :(得分:1)

我认为将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()

答案 1 :(得分:0)

为什么使用jQuery但没有使用$() / jQuery()选择器来选择元素?

尝试将//$('ul#id').remove()行和dupm $('ul#id').size()注释掉,以便知道您的元素是否存在。