Как заменить страйк-тег для ввода текста типа? [Дубликат]

0

Как заменить элемент забастовки на текст типа ввода? В это время я понятия не имею, если какое-либо решение, пожалуйста, скажите мне здесь!

Текст HTML:

In the <b>joy</b> of <strike>other</strike>, lies our <strike>own</strike>.

заменить текст:

In the <b>joy</b> of <input type="text">, lies our <input type="text">.
  • 0
    Добро пожаловать в StackOverflow: stackoverflow.com/help/how-to-ask :)
  • 0
    Какой именно вопрос? Как заменить HTML <strike> <input> тегами <input> с помощью JavaScript?
Показать ещё 2 комментария
Теги:

3 ответа

0

Просто добавьте следующий оператор jQuery

 // search all strike element and replace it 
 $('strike').replaceWith(function(){
        //create input element
        var input = $('<input>',{
            type: 'text',
            value: $(this).html()
        });
        //replace with input element
        return input;
 });
0

Если я хорошо понимаю ваш вопрос, вы хотите этого?

$('strike').each(function(){
    $(this).replaceWith("<input type=\"text\" value=\"" + $(this).text() + "\" />");

});

jsfiddle: http://jsfiddle.net/M88u4/

  • 0
    это может быть возможно без использования каждой итерации? я хочу использовать для цикла в этом состоянии.
  • 0
    почему вы не хотите использовать each ? Я имею в виду, если вы уже используете другие функции jQuery для замены тега Strike, почему бы не использовать each ? Можете ли вы объяснить, почему вы хотите использовать цикл for ()?
0

Попробуй это:

HTML

<div id="test">
    In the <b>joy</b> of <strike>other</strike>, lies our <strike>own</strike>.
</div>

Javascript

$(function(){
    var strikes = $('#test').children('strike');
    var inputText = "<input type='text' />";
    strikes.each(function(){
        $(this).replaceWith(inputText);
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню