使用存储的变量作为jQuery中replaceWith()方法的参数

时间:2012-08-20 06:49:12

标签: jquery jquery-selectors

我将文本框的值存储在变量中:

var myname=$('#test').val();

然后使用myname的值替换位于以下位置的html标记<div class="name"></div>

<td>
   <div class="name"></div>
</td>

然后我使用$('.name').replaceWith(myname);获得最终结果:

<td>
    **Value of myname**
</td>

..但我失败了。

我也试过$('.name').replaceWith('<div>'+myname+'</div>');无济于事。

请协助!

3 个答案:

答案 0 :(得分:4)

您应该只设置文本内容,而不是替换整个div。

$('.name').text(myname);

此方法的另一个好处是,您不会冒险将任意HTML插入到页面内容中,如果有人将其名称键入"<b>Hello!</b>"

,则会在您的示例中出现这种情况

答案 1 :(得分:2)

你可以使用

$('.name').html(myname);

答案 2 :(得分:0)

我已经尝试了这个,这是有效的

Jquery的

<script type="text/javascript">
    $(document).ready(function () {
        $('#lnk').click(function () {
            var myname = $('#test').val();

            $('.name').replaceWith('<div>' + myname + '<div>');
        });
    });
</script>

HTML

 <input type="text" id="test" />
<a href="javascript:void(0)" id="lnk">click here </a>

<table>
<tr>
<td>
<div class="name">aaa </div>
</td>
</tr>
</table>