Найдите и замените тег img внутри td значением alt

0
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 as

<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?

  • 0
    Пожалуйста, сделайте отступ для вашего опубликованного кода
Теги:

3 ответа

2
Лучший ответ

Вы можете использовать replaceWith():

$('td > img[alt]').each(function() {
    if($(this).siblings().length === 0) $(this).replaceWith($(this).attr('alt'));
});
  • 2
    может быть, вы могли бы использовать в качестве селектора: 'td > img[alt]'
  • 0
    @ А. Вольф - Ткс. Это имеет смысл.
1

Ты можешь сделать:

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

использовать регулярное выражение легче

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

  • 0
    Ваше регулярное выражение не работает, проверьте это: jsfiddle.net/chankeypathak/7cwZ9/7
  • 0
    Предположим, что у каждого img есть attr alt, full_data.replace(new RegExp("<img.*?alt=\"(.*?)\".*?>", "g"), "$1") используйте full_data.replace(new RegExp("<img.*?alt=\"(.*?)\".*?>", "g"), "$1")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню