通过查找和文本来处理jquery中的var

时间:2017-12-04 14:34:26

标签: javascript jquery

我在页面中使用WYSIWYG编辑器。我在回调函数中收集HTML。我想现在用jQuery更改内容。为此我做find()来选择我要替换的文本。然后我想替换它,但我被卡住了!

$('.save').click(function() {
  var html = $('#edit').editor('get_html');
  console.log(html)
  var ma_societe_OLD = $(html).find('.ma_societe').attr('data');
  var ma_societe = $(html).find('.ma_societe').text();
  if (ma_societe === ma_societe_OLD) {
    $(html).find('.ma_societe').text('dfdsfsdfds');
  }
  console.log(html);
});

如您所见,我想用我自己的文本替换span的内容。但它没有用。

1 个答案:

答案 0 :(得分:2)

问题是因为您正在修改jQuery对象,但您从未将这些更改存储在任何位置。您可以创建一个包含原始jQuery对象的新jQuery对象,保持html不变,也可以直接返回html字符串。

相反,在变量中创建$(html),对其进行更改,然后根据需要使用它。像这样:

$('.save').click(function() {
  var html = $('#edit').editor('get_html');
  var $html = $(html);
  var $maSociete = $html.find('.ma_societe')   
  if ($maSociete.text() === $maSociete.attr('data')) {
    $maSociete.text('dfdsfsdfds');
  }

  var result = $html[0].outerHTML
  console.log(result);
});