0

我需要在运行时将标签更改为span标签img

这是我的 html 块:

<body onload="mediaInputFilter ()">
<section data-role="page" data-theme="ams">
    <section data-role="header" >
        <h1>header ssssssssssssssssssssssssssssss sssssssssssssssssssssss ssssssssssssssssssssssssss ssssssssssssssss ssssssssssss</h1>

    </section>
    <section data-role="conents" id="mycontent" >
        <p>loruim epsum haha&nbsp;</p>\n<p>hehe told u&nbsp;</p>\n<ol class="starpasspro-upper-alpha_ol">\n<li>gasdfg</li>\n<li>sdfffasd</li>\n<li>asdfffasdf</li>\n<li>asdfasdfasdfasd</li>\n</ol>\n\n<table class="table_with_header lsm-tableclass-styles">\n<tbody>\n<tr>\n<td class="lsm_table_heading_1">Description</td>\n<td class="lsm_table_heading_1">Amount</td>\n</tr>\n<tr>\n<td>Gross salary</td>\n<td>&nbsp;xxxx</td>\n</tr>\n<tr>\n<td>Less: income tax (£35,000 x 25%)</td>\n<td>&nbsp;xxxx</td>\n</tr>\n<tr>\n<td>Less: social security tax (£50,000 x 9%)</td>\n<td>&nbsp;xxxx</td>\n</tr>\n<tr>\n<td>Net earnings</td>\n<td>&nbsp;xxxx</td>\n</tr>\n<tr>\n<td>Employer’s contribution on social security<br>(£50,000 x10.5%)</td>\n<td>&nbsp;xxxx</td>\n</tr>\n</tbody>\n</table>\n\n
        <p><span data-lscp-resource-mimetype="image/png" data-lscp-resource-id="00001"></span></p>


    </section>
    <section data-role="footer">
        <p>footer</p>

    </section>
</section>

html执行后,所有span标签都需要img自动转换为标签。

我用另一种方式尝试了它确实有效,但在这种情况下它不起作用。

这是我的 js(这是用 jQuery 编写的)

 function mediaInputFilter(){
        $($("section[data-role='conents']").html()).find("span[data-rcb-resource-mimetype^=image]").each(function (i,node) {

        var imgNode = $(node);
        var src = '../images/00001.png';
        var spanNode = $("<span/>");

        spanNode.attr("data-rcb-resource-mimetype", imgNode.attr("data-rcb-resource-mimetype"));
        spanNode.attr("data-rcb-resource-id", imgNode.attr("data-rcb-resource-id"));
        spanNode.attr("src", src);

        imgNode.after(spanNode);
        imgNode.remove();
    });
}

对此有任何帮助,请告诉我我错在哪里,或者您是否有其他解决方案我已打开。

4

1 回答 1

0

您的更改不会持续存在,因为您正在对一个节点进行更改,该节点在此代码运行后立即被销毁。

http://learn.jquery.com/javascript-101/scope/

解决方案:

代替

$($("section[data-role='conents']").html()).find("span[data-rcb-resource-mimetype^=image]").each(function (i,node) {

$("section[data-role='conents']").find("span[data-rcb-resource-mimetype^=image]").each(function (i,node) {
于 2013-07-19T11:23:48.263 回答