JQuery - 创建元素并将其连接到其他html

时间:2015-02-25 17:18:45

标签: javascript jquery html

在代码var check = $($.parseHTML("<input type=\"checkbox\" />")[0]);中,我想知道原因:

  • check.html()是一个空字符串
  • check[0]<input type="checkbox"></input> AND
  • check[0] + 'test'"[object HTMLInputElement]test"

我想知道如何获得<input type="checkbox"></input>test

2 个答案:

答案 0 :(得分:3)

check将是<input type="checkbox" />元素周围的jQuery包装器。因此,它不包含其他元素,因此check.html()会返回""。请记住,.html()会返回里面的元素,而不是元素本身。

所有jQuery包装器都是列表式的;在这种情况下,列表只有一个元素(input),可以在check[0]找到。

check[0] + 'test'

表示&#34;在此input元素中添加一个字符串&#34;。原样,这没有任何意义,因此使用input的字符串表示("[object HTMLInputElement]")。

如果你想要字符串&#34; test&#34;在元素之后,您需要将该元素添加到DOM中,然后在之后附加字符串

$('#somecontainer').append(check).append("test");

答案 1 :(得分:0)

只需删除parseHTML

$('<input type="checkbox" />')  // Gives you an array of new elements

$('<input type="checkbox" />')[0] // The new input element

从那里......不要连接HTML。将元素插入到应该位于的位置。否则,如果您在HTML上下文中使用文本,则可能会遇到转义问题。