2016-12-13 5 views
2

Привет всем, возможно, довольно простой вопрос здесь.JQuery preend function

Я предваряю <td> в строке таблицы, и я хочу поместить значение селекторов внутрь.

HTML:

<div style='display:none'> 
    <div id='text1'>this is the text</div> 
</div> 

JS:

$('#tablediv tr:eq(3)').prepend('<td></td>'); 

Я хочу, чтобы добавить значение Div внутри созданного тд:

$('#tablediv tr:eq(3)').prepend('<td>$text1</td>').html(); this does not work. 

Спасибо за ответы заранее.

+0

ошибка линии у меня есть: ('# fieldset_Q2 Tr: экв (3)'). PREPEND (''); и я хочу иметь $ ('# fieldset_Q9 td: eq (3)'). prepend ($ ("tdText1"). html()); – Zygimantas

+1

Что вы пытаетесь выполнить с помощью .html(); – Eric

+0

Невозможно использовать $ (# 'text1'). ReplaceWith ('Your content')? Я не отлично с jquery, но я предполагаю, что будет миллион способов сделать это. – Birdy

ответ

2

Чтобы вставить значение текста div, используйте .text(). Затем поместите, что в вашем <td>

$('#tablediv tr:eq(3)').prepend('<td>'+$('#text1').text()+'</td>'); 
+0

Это работает, но еще один быстрый вопрос, как добавить к этому пробел столбца? – Zygimantas

+0

Используйте '.prepend ('') ', но это зависит от того, как вы думаете, что будет работать« span span », достаточно ли этого. Скорее всего, вам нужно будет добавить новые ячейки во все остальные строки (что можно сделать достаточно легко). –

+0

@ ZygimantasKairys Вы просто положили colspan = "3" внутри вашего td: '.prepend ('' + $ ('# text1'). Text() + '') ; ' –

1

Я хочу, чтобы добавить значение Div внутри созданного тд:

Этот код:

$('#tablediv tr:eq(3)').prepend('<td></td>'); 

вставляет строку - это выглядит как это работает для вас.

Чтобы вставить содержимое text1, вы могли бы сделать:

$('#tablediv tr:eq(3)').prepend('<td>' + $("#text1").html() + '</td>'); 

Возможной альтернативой было бы использовать prependTo, который возвращает содержимое, добавлялась, например:

var cell = $("<td></td>").prependTo($("table tr:eq(3)")); 
cell.html($("#text1").html()); 

, который можно укоротить до:

$("<td></td>") 
    .prependTo($("table tr:eq(3)")); 
    .html($("#text1").html()); 

, который использует цепочку (используя результат возврата вызова для совершения другого вызова) и более «jquery-esq», а не конкатенацию строк, которые могут стать очень грязными очень быстро.

+0

Это ответ на вопрос! – Zygimantas

Смежные вопросы