仅获取load()jQuery的文本内部值,而没有标签,没有类,没有id,没有样式

时间:2018-07-15 07:01:22

标签: javascript jquery

$("#id").load("url #text");

返回

<h3 class="classname" style="background-color: transparent;">text</h3>

如何只获取'text'值并删除标签,类,样式,然后 重新格式化为

<span id="id" class="myclassname" style="background-color: red;">text</span>

4 个答案:

答案 0 :(得分:0)

如果只记录应使用的数据,$.get,然后在回叫内,则可以轻松地将该数据设置为span元素。

$.get( "url #text", function( data ) {
     // do something with data.
});

答案 1 :(得分:0)

var span = $('<span id="id" class="myclassname" style="background-color: red;">text</span>');
span.text($($("#id").load("url #text")).text());

答案 2 :(得分:0)

您可以尝试以下方式:

function replaceTag(oldTag, newTag) {
  $(oldTag).each(function(){
    var newElem = $(newTag, {html: $(this).html()});
    $.each(this.attributes, function() {
      newElem.attr(this.name, this.value);
    });
    $(this).replaceWith(newElem);
  });
}

replaceTag('h3', '<span></span>');
$('span').attr('id','id');
$('span').css('background-color','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="classname" style="background-color: transparent;">text</h3>

答案 3 :(得分:0)

DOMParser是我们的另一种解决方案(即使在获得的结果和所需的输出更为复杂的情况下,该方法也很有用,因为它将字符串转换为文档,您可以在该文档上执行可以对文档执行的所有查询。真正的DOM),然后像这样解析获得的字符串。

const res = `<h3 class="classname" style="background-color: transparent;">text</h3>`;

var parser = new DOMParser();
var doc = parser.parseFromString(res, "text/html");
const text = doc.querySelector('h3').textContent;

document.querySelector('#id').innerHTML =
  `<span id="id" class="myclassname" style="background-color: red;">${text}</span>`;
<div id="id"></div>