Удалить конкретное c слово из div в jquery - PullRequest
0 голосов
/ 16 июня 2020

проверенный ввод

<input id="add_stop" name="attach_img" type="checkbox" class="required custom-control-input">

Вот мой div

<div class="emojionearea-editor">
 Hello World.  STOP to opt out 
</div>

Я хочу удалить только STOP to opt out, если он существует во внутреннем HTML div.

вот мой jquery код

$('#add_stop').change(function (event) {
    if ($(this).is(':checked')) {
        if ($('.emojionearea-editor').html().indexOf("STOP to opt out") != -1) {

        } else {
            $('.emojionearea-editor').append('STOP to opt out ');
        }


    } else {
        var name = $('.emojionearea-editor').html();

        /* remove code should be here.... */

        alert(name);
    }
});

Здесь я хочу добавить при проверке. Добавляю текст, когда его нет. Теперь я хочу удалить текст, если он существует. Теперь мой вопрос: Как удалить существующий текст из внутреннего Html ??

Ответы [ 4 ]

1 голос
/ 16 июня 2020
Функция

html () принимает один параметр для установки внутреннего Html DOM. Вот так:

var text = $('.emojionearea-editor').html();
text = text.replace("STOP to opt out", "");
$('.emojionearea-editor').html(text);
1 голос
/ 16 июня 2020
var name = $('.emojionearea-editor').html().replace("STOP to opt out", "");

$('.emojionearea-editor').html(name)
1 голос
/ 16 июня 2020

Это то, что вы ищете?

$('#add_stop').change(function (event) {
var keyword = 'STOP to opt out';
    if ($(this).is(':checked')) {
        if ($('.emojionearea-editor').html().indexOf(keyword) != -1) {

        } else {
            $('.emojionearea-editor').append(keyword);
        }

    } else {
        var name = $('.emojionearea-editor').text().replace(keyword,"");
        alert(name);
    }
});

Я сделал слова, которые вы хотите заменить, в переменную. Таким образом, если вы случайно введете текст в переменной, он будет применяться ко всем местам, где он используется.

Обратите внимание, что вы должны использовать .text(), а не .html(), поскольку .html() будет включать все html код в этом объекте.

Демо

$('#add_stop').change(function (event) {
var keyword = 'STOP to opt out';
    if ($(this).is(':checked')) {
        if ($('.emojionearea-editor').html().indexOf(keyword) != -1) {

        } else {
            $('.emojionearea-editor').append(keyword);
        }

    } else {
        var name = $('.emojionearea-editor').text().replace(keyword,"");
        alert(name);
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="add_stop" name="attach_img" type="checkbox" class="required custom-control-input">


<div class="emojionearea-editor">
 Hello World.  STOP to opt out 
</div>
0 голосов
/ 16 июня 2020

Я немного изменил ваш JQuery код

$("#add_stop").change(function() {
  if(this.checked){
    if(!$(".emojionearea-editor").html().includes("STOP to opt out ")){
      $(".emojionearea-editor").append("STOP to opt out ")
    }
  }else{
        var name = $('.emojionearea-editor').text();

        $('.emojionearea-editor').text(name.replace("STOP to opt out ", ""))

        alert(name);
  }
})

Это должно позволить вам добавить и удалить «СТОП, чтобы отказаться»

Вот код с ним рабочий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...