JQuery увеличение с последней й

Как увеличить ширину последней строки? Я пытаюсь сделать его текущей ширины + 20 пикселей;

вот мой код в скрипке

var header="<th id="tblHeader_1" style="width: 80px;"><span>Id</span></th>
<th class="headerSortDown" id="tblHeader_2" style="width: 300px;"><span>Title</span></th>
<th class="headerSortDown" id="tblHeader_3" style="width: 300px;"><span>Adress</span></th>";


//Increase last th width
header.find(th:last).css('width',currentwidth+20+'px');    
alert(header);

4 ответа

Сначала вам нужно создать объект jQuery из вашей HTML-строки, затем вам нужно получить текущую ширину th прежде чем его увеличить:

th = $(header).find('th:last');
th.css('width', (th.width() + 20) + 'px');

Попробуйте конвертировать ваши header в объект JQuery с помощью $ чтобы использовать метод jQuery здесь:

$(header).find('th:last').css('width',currentwidth+20+'px');

Также вам нужно использовать ' ' обернуть вашу строку вместо " ":

var header='<th id="tblHeader_1" style="width: 80px;"><span>Id</span></th><th class="headerSortDown" id="tblHeader_2" style="width: 300px;"><span>Title</span></th><th class="headerSortDown" id="tblHeader_3" style="width: 300px;"><span>Adress</span></th>';
var header = $('<th id="tblHeader_1" style="width: 80px;"><span>Id</span></th><th class="headerSortDown" id="tblHeader_2" style="width: 300px;"><span>Title</span></th><th class="headerSortDown" id="tblHeader_3" style="width: 300px;"><span>Adress</span></th>');
$(header[header.length-1]).css({width:"+=20"});
alert(header);

демо здесь http://jsfiddle.net/sBbcE/2/

Фильтр LIVE DEMO ()

Проблема здесь JQuery find() не очень хорошо работает с HTML String . Сначала нам нужно ввести в DOM, затем он будет работать нормально.

Работает нормально с filter() Метод лучше объяснение здесь Найти элемент в строке HTML

var header='<th id="tblHeader_1" style="width:80px;"><span>Id</span></th><th class="headerSortDown" id="tblHeader_2" style="width: 100px;"><span>Title</span></th><th class="headerSortDown" id="tblHeader_3" style="width:100px;"><span>Adress</span></th>';

var $header =  $(header);

var th = $header.filter("th:last");

th.css('width',th.width() + 50 + 'px');

$header.appendTo('#main');

Еще один способ с find() метод.

LIVE DEMO

var header='<th id="tblHeader_1" style="width:80px;"><span>Id</span></th><th class="headerSortDown" id="tblHeader_2" style="width: 100px;"><span>Title</span></th><th class="headerSortDown" id="tblHeader_3" style="width:100px;"><span>Adress</span></th>';

var currentwidth = 100;

$('#main').append(header).find('th:last').css('background-color','red');//For Testing pu

//Increase last th width
$('#main').find('th:last').css('width',currentwidth + 50 + 'px');

/questions/2200805/ispolzovanie-jquery-dlya-poiska-stroki-html

Другие вопросы по тегам