【问题标题】:jQuery, append only part of an element without losing its content (possibly with clone?)jQuery,仅附加元素的一部分而不会丢失其内容(可能与克隆?)
【发布时间】:2015-03-16 16:51:20
【问题描述】:

我首先要说我对自己的 Web 开发能力并不太自信,而且我完全有可能做错了,但不管怎样,这里就是这样。

我希望能够在元素的一小部分(打开链接的目标)上附加 .append,因为我不知道它的内容是什么。

出于演示的目的,我在下面使用它来附加从搜索请求返回的所有结果。

$("#results").append("<div><a href='http://en.wikipedia.org/wiki/" + encodeURIComponent(item.title) + "'>" + item.title + "</a> : " + item.snippet + "</div>");  

我希望能够在用户单击其中一个链接时进一步附加这些结果,目标将是网页中的一个新选项卡,该选项卡在第一个 .append(也用 jQuery 实现)

我在想我可以尝试使用 .clone 来获取 div 的内容,删除 html(最终只有链接),然后将其用作另一个 .append 的输入

我是否以错误的方式处理这件事?我担心在用户单击链接时尝试更改链接的 HTML 会导致问题。

任何建议将不胜感激!

感谢您的宝贵时间

【问题讨论】:

    标签: javascript jquery append clone target


    【解决方案1】:

    我不确定您是否需要克隆 div 元素。您可以通过为链接附加点击处理程序来实现您想要的:

    $('#results').append('div>[ your code from above ]</div>')
        .find('a')
        .bind('click', function(e) {
            e.preventDefault();
    
            var a = $(this);
            var url = a.attr('href'); // here is the url
    
            // call some other function    
    });
    

    如果我错过了您在这里尝试做的事情,我深表歉意。但希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2011-07-25
      • 1970-01-01
      • 2016-12-30
      • 2015-06-22
      • 1970-01-01
      相关资源
      最近更新 更多