我想按p输入标签的文本值

$.keynav.enterDown = function () {
  var accom = $('#suggestions p.keynavon').html();
  alert(accom);

}


这很好用,但是结果包含<span></span>标记,无论如何我可以从字符串中剥离这些标记吗?

最佳答案

如果只需要听起来像您想要的文本,请使用.text()而不是.html(),如下所示:

$.keynav.enterDown = function () {
  var accom = $('#suggestions p.keynavon').text();
  alert(accom);
}


如果您实际上确实需要专门剥离<span>标记,请克隆内容(以免影响原始内容),然后通过.replaceWith()将其替换为内部内容,如下所示:

$.keynav.enterDown = function () {
  var accom = $('#suggestions p.keynavon').clone()
                .find('span').replaceWith(function() { return this.innerHTML; })
                .end().html();
  alert(accom);
}

10-07 17:25