添加此代码时,为什么我的代码停止工作?简单的JQuery

时间:2013-05-06 16:57:38

标签: jquery

$('#insert_image').click(function(){
    $('#image').attr("src", "img/julia1.jpg");
});

添加以下代码时,第一段代码停止工作:

$('#insert_paragraph').click(function(){
    var text = $('#paragraph').val();
    $('#paragraph').replaceWith('<p>'text'</p>');
});

第一个代码块与第二个代码块无关,那为什么它会停止工作?另外在第二块代码中,我正在尝试创建一个文本,您可以在其上键入一个段落,当您单击它旁边的按钮时,它会将textarea替换为页面上的段落。

5 个答案:

答案 0 :(得分:4)

进行以下更改:

$('#insert_paragraph').click(function(){
    var text = $('#paragraph').val(); //if input, use .val(), otherwise use .text() or .html()
    $('#paragraph').replaceWith('<p>' + text + '</p>');
});

修改

由于您使用的是textarea,请使用.val()

$('#insert_paragraph').click(function(){
    var text = $('#paragraph').val(); 
    $('#paragraph').replaceWith('<p>' + text + '</p>');
});
  

.val()方法主要用于获取表单元素的值,例如input,select和textarea。

样本: http://jsfiddle.net/dirtyd77/d99wF/3/

答案 1 :(得分:2)

因为'<p>' text '</p>'应为'<p>' + text + '</p>'

javascript中的串联是使用+;

完成的

答案 2 :(得分:1)

语法错误:

$('#paragraph').replaceWith('<p>'text'</p>');

试试这个

$('#paragraph').replaceWith('<p>' + text + '</p>');

答案 3 :(得分:1)

缺少+登录信息:

 $('#paragraph').replaceWith('<p>'+text+'</p>');

答案 4 :(得分:1)

注意:

+ char。

完成将一个字符串添加到另一个字符串

请尝试使用此代码:

$('#insert_paragraph').click(function(){
    var text = $('#paragraph').val();
    $('#paragraph').replaceWith('<p>'+text+'</p>');
});