使用alt值搜索并替换td中的img标记

时间:2014-02-20 10:14:36

标签: javascript jquery regex

var full_data = table.innerHTML;
console.log(full_data);

输出:

<caption>For demo purpose: CP</caption><colgroup align="center"></colgroup><colgroup align="left"></colgroup><colgroup span="2" align="center"></colgroup><colgroup span="3" align="center"></colgroup><thead valign="top"><tr><th>ID<br>no</th><th>Name</th><th>Col1</th><th>Col2</th><th>Col<br>3</th><th>Col<br>4</th><th>Col<br>5</th></tr></thead><tbody><tr><td>1200</td><td style="background-color: #00f; color: #fff">Testing</td><td></td><td></td><td>X</td><td>X</td><td>*</td></tr><tr><td>1250</td><td style="font-weight: bold"><a href="http://www.google.com/">http://www.google.com/</a></td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1251</td><td><img src="https://www.google.co.in/images/srpr/logo11w.png" alt="google" title="google title" widht="20px" height="20px"></td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1252</td><td>Windows 98</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1253</td><td>Windows 2000</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1254</td><td>Windows ME</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1255</td><td>Hebrew</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1256</td><td>Arabic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1257</td><td>Baltic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1361</td><td>Hindi</td><td>X</td><td></td><td></td><td>**</td><td>X</td></tr></tbody><tbody><tr><td>437</td><td>MS-DOS</td><td></td><td>X</td><td>X</td><td>X</td><td>X</td></tr><tr><td>708</td><td>Say what again</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>709</td><td>CP</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>710</td><td>What</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>720</td><td>OK Done</td><td></td><td>X</td><td></td><td></td><td>X</td></tr></tbody>

在输出中有td

<td><img src="https://www.google.co.in/images/srpr/logo11w.png" alt="google" title="google title" widht="20px" height="20px"></td>

我想搜索img内有td的情况,然后用img值替换这个完整的alt标记。所以上面就会变成。

<td>google</td>

如何使用JavaScript或jQuery完成?

3 个答案:

答案 0 :(得分:2)

您可以使用 replaceWith()

$('td > img[alt]').each(function() {
    if($(this).siblings().length === 0) $(this).replaceWith($(this).attr('alt'));
});

答案 1 :(得分:1)

你可以这样做:

$('td').each(function() {
    if($(this).find('img').length) {
        $(this).html($(this).attr('alt'));
    });
});

答案 2 :(得分:0)

使用正则表达式更轻便

full_data.replace(new RegExp("<td>.*?alt=\"(.*?)\".*?</td>"), "<td>$1</td>")