JQuery $('<div> </div>')不会创建正确的div元素

时间:2016-08-17 12:22:47

标签: javascript jquery

我有以下js代码:

$client = new SoapClient("http://xxx/check?wsdl");

使用html:

$(document).ready(function() {
    $(".button").bind("click", function() {
        var div = $('<div></div>');
        $(".label").append(div);
        div.html($(".textField").val());
        console.log(div);
    });
});

当我点击按钮时,没有任何反应。控制台输出显示创建的<input type="text" class="textField"/> <input type="button" class="button" value=" &gt;&gt;"/> <div class="label" style="color: red;"></div> 不是正确的div对象 但是当我将onclick函数处理程序代码复制到浏览器控制台并运行它时,它可以正常工作。
这是jsFiddle
这有什么不对?

3 个答案:

答案 0 :(得分:2)

更改您的代码
JQuery的

$(document).ready(function() {
            $(".button").on("click", function() {
                var div = "<div class='id-of-div'></div>"; //changes
                $(".label").append(div);
                div.html($(".textField").val());
                console.log(div);
            });
        });

HTML

<input type="text" class="textField"/>
    <input type="button" class="button" value=" &gt;&gt;"/>
<div class="label" style="color: red;"></div>

我想,这很有帮助

答案 1 :(得分:1)

只需使用.click() event

即可
$(document).ready(function () {
   $(".button").click(function () {
      var div = $('<div></div>');
      $(".label").append(div);
      div.html($(".textField").val());
      console.log((div));
    });
});

答案 2 :(得分:1)

您的代码依赖关系或结构可能有问题,因为这似乎有效。这是您在codepen上运行的代码:http://codepen.io/chriteixeira/pen/qNvoPN

关于日志对象不是正确的html,也许您正在比较浏览器控制台中的普通输出而不是日志控制台。为了确保您正在比较相同的数据,您应该运行:

var $div = $('<div></div>');
console.log($div);

像这样运行,结果应与codepen示例中的结果相同。