У меня есть куча этих маленьких кусочков HTML-кода, повторяемых снова и снова:
<div class="collapse" id="any_mins">
<fieldset>
<legend><img title="Click to expand" class="plus" alt="+" src="" />Heading</legend>
<table class="mins_table">
lots of rows and cells go here
</table>
</fieldset>
</div>
Внутри таблиц есть элементы формы, в основном текстовые поля и выделения. У меня есть немного jQuery, который выделяет заголовок <legend>
, если в содержащей таблице есть непустые элементы формы. Это выглядит так:
// input td tr tbody table legend img
$("input[type='text'][value!=0]").parent().parent().parent().parent().show();//the table
$("input[type='text'][value!=0]").parent().parent().parent().parent().siblings().children().attr("src", minus_path);//the image
$("input[type='text'][value!=0]").parent().parent().parent().parent().siblings().addClass("highlighted")//the legend
// option select td tr tbody table legend img
$("option:selected[value!=0]").parent().parent().parent().parent().parent().show();//the table
$("option:selected[value!=0]").parent().parent().parent().parent().parent().siblings().children().attr("src", minus_path);//the image
$("option:selected[value!=0]").parent().parent().parent().parent().parent().siblings().addClass("highlighted")
Это работает, но, очевидно, неправильно. Что правильно?