Никогда не понять, почему кто-то использовать этот
$("#table").append(data.d[i].one!=""?
"<td id='divs'>
<input id="+ data.d[i].one +" type=" + "checkbox" + " class=" + "cbCheck" + ">
<label for="+ data.d[i].one +"></label>
</td>":"<div></div>");
Вместо этого:
//class declaration
function YourTableCell(name, value) {
this.input = document.createElement('input');
this.input.value = value;
this.input.name = name;
this.label = document.createElement('label');
this.label.text = 'My Label';
this.container = document.createElement('td');
this.container.appendChild(this.input);
this.container.appendChild(this.label);
}
//application buisness logic
if(data.d[i].one != ''){
var cell = new YourTableCell(data.d[i].name, data.d[i].value);
$("#table").append(cell.container);
} else {
$("#table").append(document.createElement('div'));
}
Используя этот подход, вы можете инкапсулировать ячейку таблицы построение внутри вашего класса и сделать ваш код более читаемым и многоразовым. Кроме того, как я вижу сейчас, вы пытаетесь добавить td
внутри чего-то с идентификатором #table
и выглядеть неправильно, потому что вы должны добавить td
внутри tr
.
Кроме того, используя это, вы можете получить ссылки на все объекты, такие как input
s и избежать выбора селекторов $ ('input, select, textarea').
Ваш код нечитабельно. – plvice
вы забыли добавить '' 'в начало или это просто опечатка? –
Возможный дубликат [Как вы проверяете пустую строку в JavaScript?] (Http://stackoverflow.com/questions/154059/how-do-you-check-for-an-empty-string-in-javascript) –