动态添加元素未在HTML表格中显示在TD中

时间:2013-04-29 08:14:50

标签: javascript jquery html html-table

我有这段代码:

var closeButton = $("<a class='close'/>")
                                    .button({
                                        icons: {
                                            primary: "ui-icon-close"
                                        },
                                        text: false
                                    })
                                    .removeClass("ui-corner-all")
                                    .addClass("ui-corner-right ui-combobox-toggle")
                                    .click(function () {
                                        if (invisibleElement != null)
                                            jQuery(invisibleElement).val("");
                                        //removing the close button with placaholder value
                                        jQuery(visibleElement).val("Select");
                                        jQuery(visibleElement).focus();
                                        jQuery(visibleElement).blur();
                                        var parentNode = $(this).parent();
                                        parentNode.find(this).remove();
                                        isCloseButton = false;
                                    });

我正在有条件地添加此按钮:

$(visibleElement).parent().find(".showAll").after(closeButton);

默认情况下不会添加。这是根据一些输入添加的。

这些东西都添加在td

<table border="0" width="100%" cellspacing='0' cellpadding='2'>
<tr>
    <td style="vertical-align:middle; text-align:left; width: 45%;">
                                <input type="text" id="theVisibleElement" value=""/>

    </td>
</tr>

但是在添加closeButton后,我无法看到showAll元素。只有inputBox(visibleElement)和closeButton可见。虽然,在源代码中,所有三个都是visibleElement(输入TextBox),showAll元素和closeButton。奇怪的是td足够大,但仍然没有出现这三个。该怎么办?有什么建议吗?

这是jsfiddle:http://jsfiddle.net/8U6xq/1/ 虽然它有点乱。

1 个答案:

答案 0 :(得分:1)

这是一个CSS问题。你的“close”元素就在你的showAll元素上。请看这里纠正的小提琴:

http://jsfiddle.net/8U6xq/2/

我刚刚在css中改变了这个:

.close {
    left: 270px;
}