Як атрымаць доступ да якія маюць малюнках ТДА без выкарыстання ідэнтыфікатара або класа ў т.де ..?

У нас ёсць HTML бюлетэнь, як гэта ....

<table width="600">
<tr>
  <td>
     Text
  </td>
</tr>
<tr>
  <td>
     
  </td>
</tr>
<tr>
  <td style="font:arial;">
     
  </td>
</tr>
<tr>
  <td style="font:arial;">
   
      
  </td>
</tr>
</table>

Мне трэба, каб дадаць стыль = "Памер шрыфта: 0%» таму, хто мае малюнкаў у ГД. мы не выкарыстоўваем ідэнтыфікатары або любы клас у HTML. Так, як гэта зрабіць з дапамогай JavaScript .. ??

Дзякуй !!

0
XPath? <�Код>//тд [Нашчадак :: IMG] ?
дададзена аўтар Marc B, крыніца

8 адказы

Выкарыстоўвайце .has() :

var $tds = $('td').has('img').css('font-size',0);
5
дададзена
@chethan жаль не бачыў, як вы былі OP. Дык чаму пазначаць пытанне з JQuery, калі вы не хочаце выкарыстоўваць яго ???
дададзена аўтар A. Wolff, крыніца
@chethan з тэгамі JQuery. І jQuery з'яўляецца JavaScript. У чыстым JavaScript павінен перабіраць з некаторымі заявамі ...
дададзена аўтар A. Wolff, крыніца
@chethan - Вы былі пазначаныя яго з JQuery, які можа азначаць толькі тое, што рашэнне jQuery з'яўляецца прымальным.
дададзена аўтар techfoobar, крыніца
Патрабуецца дадаць клас, якія не маюць выявы вызначэння
дададзена аўтар maximkou, крыніца
@chethan Javascript адказаць толькі stackoverflow.com/a/16923685/536984
дададзена аўтар Orlando, крыніца
не ведаў пра мае() , выглядае вельмі карысна
дададзена аўтар Orlando, крыніца
у Javascript .. ??
дададзена аўтар chethan, крыніца

Выкарыстоўвайце .has() :

var $tds = $('td').has('img').css('font-size',0);
5
дададзена
@chethan жаль не бачыў, як вы былі OP. Дык чаму пазначаць пытанне з JQuery, калі вы не хочаце выкарыстоўваць яго ???
дададзена аўтар A. Wolff, крыніца
@chethan з тэгамі JQuery. І jQuery з'яўляецца JavaScript. У чыстым JavaScript павінен перабіраць з некаторымі заявамі ...
дададзена аўтар A. Wolff, крыніца
@chethan - Вы былі пазначаныя яго з JQuery, які можа азначаць толькі тое, што рашэнне jQuery з'яўляецца прымальным.
дададзена аўтар techfoobar, крыніца
Патрабуецца дадаць клас, якія не маюць выявы вызначэння
дададзена аўтар maximkou, крыніца
@chethan Javascript адказаць толькі stackoverflow.com/a/16923685/536984
дададзена аўтар Orlando, крыніца
не ведаў пра мае() , выглядае вельмі карысна
дададзена аўтар Orlando, крыніца
у Javascript .. ??
дададзена аўтар chethan, крыніца

Выкарыстоўвайце .has() :

var $tds = $('td').has('img').css('font-size',0);
5
дададзена
@chethan жаль не бачыў, як вы былі OP. Дык чаму пазначаць пытанне з JQuery, калі вы не хочаце выкарыстоўваць яго ???
дададзена аўтар A. Wolff, крыніца
@chethan з тэгамі JQuery. І jQuery з'яўляецца JavaScript. У чыстым JavaScript павінен перабіраць з некаторымі заявамі ...
дададзена аўтар A. Wolff, крыніца
@chethan - Вы былі пазначаныя яго з JQuery, які можа азначаць толькі тое, што рашэнне jQuery з'яўляецца прымальным.
дададзена аўтар techfoobar, крыніца
Патрабуецца дадаць клас, якія не маюць выявы вызначэння
дададзена аўтар maximkou, крыніца
@chethan Javascript адказаць толькі stackoverflow.com/a/16923685/536984
дададзена аўтар Orlando, крыніца
не ведаў пра мае() , выглядае вельмі карысна
дададзена аўтар Orlando, крыніца
у Javascript .. ??
дададзена аўтар chethan, крыніца
$('td:has(img)').css('font-size','0%');

або

var tds = document.getElementsByTagName('td');
fабо(var i=0; i<tds.length; i++) {
    if ( tds[i].getElementsByTagName('img').length )
         tds[i].style.fontSize = 0;
}
4
дададзена

Я хацеў бы прапанаваць некалькі іншы падыход, з дапамогай JQuery:

// note: 0 doesn't require a unit
$('img').closest('td').css('font-size', '0');
2
дададзена

Наіўны падыход без JQuery

var table = document.getElementsByTagName("table"),
    tds = document.getElementsByTagName("td"),
    tdsWithImages = Array.prototype.slice.call(tds).filter(function (td) {
        return td.getElementsByTagName('img').length > 0
    });
    tdsWithImages.map(function (td) {
        td.style.fontSize = "0";
    });
1
дададзена
Вы проста забыліся ўсталяваць стыль на tdsWithImages элементаў, але не тое, што цяжка зрабіць +1
дададзена аўтар A. Wolff, крыніца
я не разумею ваш каментар: /
дададзена аўтар Orlando, крыніца
@Orlando дзякуй, але я з дапамогай кода .. функцыя змены (уваход, выхад) {уага дзяленне = document.createElement ( «дзіваў»); паспрабаваць {div.innerHTML = ўваход; } Злавіць (е) {Alert (e.message); вяртанне; } Вар табліца = div.getElementsByTagName ( "табліца"), с.в. = div.getElementsByTagName ( "TD"), tdsWithImages = Array.prototype.slice.call (ТДС) .filter (функцыя (тд) {вярнуць td.getElementsByTagName ( » . даўжыня IMG ')> 0}); tdsWithImages.map (функцыя (тд) {td.style.fontSize = "0";}); output.value = tdsWithImages; }
дададзена аўтар chethan, крыніца
@Orlando я атрымаў жаданы вынік .. але HTML існуючыя стылі HTML быў перазапісаны .. вось код .. «функцыя змены (уваход, выхад) {вар дзялення = document.createElement (" DIV "); паспрабаваць {div.innerHTML = ўваход; } Злавіць (е) {Alert (e.message); вяртанне; } Вар табліца = div.getElementsByTagName ( "табліца"), с.в. = div.getElementsByTagName ( "TD"), tdsWithImages = Array.prototype.slice.call (ТДС) .filter (функцыя (тд) {вярнуць td.getElementsByTagName ( » . даўжыня IMG ')> 0}); tdsWithImages.map (функцыя (тд) {td.style.fontSize = "0%";}); output.value = div.innerHTML; } »
дададзена аўтар chethan, крыніца

чаму не проста? $ ( "ГД IMG"). Кожны ()

0
дададзена
Паколькі памер шрыфта не вельмі карысна CSS ўласцівасць карцінкі?
дададзена аўтар Crazy Train, крыніца

.. <�Код> $ ( 'IMG') бліжэй ( 'тд') CSS ( 'памер шрыфта', '0%');

0
дададзена
+1 ваш код працуе сапраўды
дададзена аўтар A. Wolff, крыніца
Я адрэдагаваў мой адказ: першапачаткова было «знайсці ()» замест «бліжэй за ўсё ()». Я brainfarted. Upvote б нядрэнна - дзякуй! :-)
дададзена аўтар gtr1971, крыніца