将所有非子HTML包装到DOM元素中

时间:2012-04-02 08:45:22

标签: javascript jquery

我正在为一个网站开发一个小连字引擎,我得了解这个问题。我匹配所有p.hyphenatable并将内容发送到PHP脚本以使其连字符如下:

jQuery(".hyphenatable").each(function() {
    var hyphenatableObject = jQuery(this);

    if (hyphenatableObject.children().size() == 0){ //  Hyphenate only if there is no child elements to prevent HTML from being omitted

        jQuery.ajax({
            type: "POST",
            url: phpHyphenatorUrl,
            data : {
                language:hyphenationLang,
                text: hyphenatableObject.text()
            },
            dataType: "html",
            success: function(data) {
                hyphenatableObject.html(data);
            }
        });
    }
});

为了能够让这个脚本同时处理带子节点的元素,我想将匹配的selectore的非封装部分包装到新元素中,然后将它们发送到Web服务。例如:

<p>My text <img src="img.jpg" /> with image</p>

变为

<p><span class="whatever">My text</span> <img src="img.jpg" /> <span class="whatever">with image</span></p>

有关于此的任何想法吗?

0 个答案:

没有答案