0

我有这个html:

<span class="msg-container">
  <span class="msg"></span>
  A message here
</span>

我想使用 jQuery 查找所有 msg-container 元素,获取“A message here”文本并设置标题属性并删除“A message here”文本节点。

所以,执行后,我的 DOM 应该是这样的:

<span class="msg-container" title="A message here">
  <span class="msg"></span>
</span>

我如何实现这一目标?

4

3 回答 3

1

我认为您需要使用 for-each 功能

 $(".msg-container").each(function(){
       var child =  $(this).children(".msg").html();
       var text=$(this).html("");
        $(this)attr("title" , text) 
        $(this).append(child);
      });
于 2012-04-19T22:32:14.293 回答
1

尝试

$(function()  {
    $(".msg-container").each(function() {
        var txt = $(this).text();
        var children = $(this).children();
        $(this).attr("title",txt.trim())
            .text("").append(children);
    });
});
于 2012-04-19T22:34:57.197 回答
1
 $('.msg-container').each(function(){
      var that = $(this);
      that.attr('title', that.text());
      var children = that.find('.msg').clone();
      that.html('').append(children);
 });
于 2012-04-19T22:36:26.007 回答