9

我需要转换<input type="text" value="1" class="simpleCart_input">为纯文本。

就像我需要它一样

<span class="simpleCart_input">1</span>

但是怎么做?

4

8 回答 8

23

您可以使用replaceWith.

$('.simpleCart_input').replaceWith(function(){
   return '<span class='+this.className+'>'+this.value+'</span>'
})

http://jsfiddle.net/fsVRe/

或者:

$('.simpleCart_input').replaceWith(function(){
    return $('<span/>', {
              'class': this.className,
               text: this.value
           })
})
于 2012-09-09T09:00:52.143 回答
2

如果我理解正确,应该这样做:

var a = $('.simpleCart_input').html();
alert(a);

根据您的评论,您想要这个:

var a = $('.simpleCart_input').val();
$('.simpleCart').text(a);

(为了实现代码的目的,您需要一个带有 simpleCart 类的跨度。)

最终建议:

只是为了添加转换代码。这将删除输入字段并插入具有所需值的跨度。

$('.simpleCart_input').replaceWith(
    return '<span class='+this.className+'>'+this.value+'</span>'
);
于 2012-09-09T08:58:16.923 回答
2

尝试使用这个:工作演示 http://jsfiddle.net/gvRjn/

http://www.appelsiini.net/projects/jeditable/default.html

希望它适合你的事业:)

PS - 这是使用http://www.appelsiini.net/projects/jeditable插件。

代码

$('.editable-element').editable({
    width: 250,
    indicator: 'Saving...'
});


​
于 2012-09-09T08:59:59.477 回答
2

HTML

<span>
    <input type="text" class="simpleCart_input">
</span>​

jQuery

$('.simpleCart_input').blur(function() {
    var val = $.trim(this.value);
    $(this).parent().attr('class', $(this).attr('class')).html(val);
});​

演示

其他

$('.simpleCart_input').blur(function() {
    var val = $.trim(this.value);
    if( val ) 
    {
      $(this).wrap($('<span/>', {
        'class': $(this).attr('class'),
         html: val
      })).remove();
    }
});​

演示

于 2012-09-09T09:00:20.103 回答
2

你可以这样做:

$("input.simpleCart_input").replaceWith(function () {
  return '<span class="'+this.className+'">'+this.value+'</span>';
});​

工作演示。

于 2012-09-09T09:00:55.300 回答
0

你的意思是获取输入字段的值吗?如果是这样的话:

var val = $('.simpleCart_input').val();
警报(val);

于 2012-09-09T08:53:59.393 回答
0
var input = $('.simpleCart_input');
input.replaceWith(
    $('<span>').text(  // Uses text() to avoid breakage if the value contains HTML special characters.
        input.val()
    )
);
于 2012-09-09T09:02:42.753 回答
0

其实很简单:

首先,您需要识别输入,因此我们将为它添加一个 id:

 <input id="my-input" type="text" value="Lorem ipsum" />

然后我们可以用文本替换输入,如下所示:

 var input = $('#my-input'),          // cache input
     value = input.attr('value'),  // read input value
     span  = $('<span></span>);    // create a span element     

 span.text(value); // Place the value inside the span     
 input.after(span); // Place the span after the input     
 input.remove(); // Remove the input since this was our mission

这应该可以完成工作:)

于 2012-09-09T09:03:33.783 回答