使用jQuery将元素插入div,追加无效

使用jQuery将元素插入div,追加无效,jquery,asp.net,Jquery,Asp.net,我有以下代码: $('input[id$="txtTecnicas"]').bind('keypress', function (e) { //if user presses enter if (e.keyCode == 13) { //cancel asp.net postback e.preventDefault(); //if value of

我有以下代码:

$('input[id$="txtTecnicas"]').bind('keypress', function (e) {
            //if user presses enter
            if (e.keyCode == 13) {
                //cancel asp.net postback
                e.preventDefault();

                //if value of textbox is not empty
                if ($(this).val() != "") {

                    //Save value into valueTec
                    var valueTec = $(this).val();
                    //Clear textbox value
                    $(this).val("");
                    //Create tag div to insert into div
                    var texthtml = '<span class="tag" title="' + valueTec + '">' + valueTec + ' <a>x</a><input type="hidden" value="1" name="tags"></span>';

                    //Append the new div inside tecTagHolder div
                    $('[id$="tecTagHolder"]').append(texthtml);
                }
            }
        });
$('input[id$=“txtTecnicas”]”)。绑定('keypress',函数(e){
//如果用户按enter键
如果(e.keyCode==13){
//取消asp.net回发
e、 预防默认值();
//如果textbox的值不为空
if($(this.val()!=“”){
//将价值保存到valueTec中
var valueTec=$(this.val();
//清除文本框值
$(此).val(“”);
//创建要插入到div中的标记div
var texthtml=''+valueTec+'x';
//将新div追加到tecTagHolder div中
$('[id$=“tecTagHolder”]')。追加(texthtml);
}
}
});

但是,它并没有将代码插入到tecTagHolder div中,而且由于它需要在tecTagHolder中插入许多div,每次用户按enter键时都要插入一个div,因此我无法使用
.html()
命令,但使用append时,它甚至不会追加“Hello”字符串!有什么不对吗?非常感谢

为什么不这样选择tecTag:

$("#<%=tecTagHolder.ClientID %>").append(texthtml);
$(“#”)追加(texthtml);

您可以使用以下内容:

$('[id$="tecTagHolder"]').html( $('[id$="tecTagHolder"]').html() + texthtml );
var span = $('<span></span>').addClass('tag').attr('title', valueTec).text(valueTec);
var a = $('<a></a>').text('x');
.. and so on
但我建议您生成如下元素:

$('[id$="tecTagHolder"]').html( $('[id$="tecTagHolder"]').html() + texthtml );
var span = $('<span></span>').addClass('tag').attr('title', valueTec).text(valueTec);
var a = $('<a></a>').text('x');
.. and so on
然后可以将跨度附加到$('[id$=“tecTagHolder”]')


如果有帮助,请告诉我:)

在asp.net中,当对象运行at=“server”,使用$(“#tecTagHolder”)无法工作时,对象会更改名称。您是否收到错误消息?你确定你的选择器实际上正在抓取你想要的DOM元素吗?没有你的分数,很难看出什么地方出了问题。哇!它工作得很好!只要我能记下你的答案,我就去做!谢谢!。。。为什么我的方法不起作用?这会获取页面上呈现元素的ID,而您所针对的元素不存在。因此我最好使用这种方法。我会记住的!再次感谢:)