2015-03-11 2 views
0

Итак, у меня есть HTML.jQuery selector не выбирает объект

<td class="qDescription"> 
    <div> 
     <div id="questionTitle">% of users who logged in per day</div> 
     <div id="timeRangeExt"> 05 Mar 2015 - 11 Mar 2015</div> 
     <div class="compareToLabel"> (26 Feb 2015 - 04 Mar 2015)</div> 
    </div> 
</td> 

Я пытаюсь изменить CSS свойство #timeRangeExt, поэтому у меня есть следующие JQuery:

$("#timeRangeExt").html("TESTING"); 

Однако, это не работает. Я действительно в недоумении. Я делал это 1000 раз раньше, но на этот раз его просто не выберет.

+3

Вы проверили идентификатор, который вы пытаетесь выбрать? Вам не хватает части «Ext» в конце. – TylerH

+0

Я сожалею, я отредактировал это. На самом деле есть 2 разных идентификатора, поэтому я их перепутал. Чтобы уточнить, его все еще сломано. – Jake

+2

Вы делаете это до загрузки DOM? – Scimonster

ответ

1

Необходимость ссылки на полный идентификатор ( #timeRangeExt):

$('#timeRangeExt').css('color','#f0f'); 

Оказывается, это была опечатка. Если у вас два идентификатора с одинаковым значением (если qDescription - это повторяющийся элемент), вам придется использовать вместо него имя класса. HTML не может иметь два идентификатора с одинаковым именем в одном документе. Например, переключить его на:

<td class="qDescription"> 
    <div> 
     <div class="questionTitle">% of users who logged in per day</div> 
     <div class="timeRangeExt"> 05 Mar 2015 - 11 Mar 2015</div> 
     <div class="compareToLabel"> (26 Feb 2015 - 04 Mar 2015)</div> 
    </div> 
</td> 

Затем вы можете выбрать его в качестве ссылки на .qDescription:

$('.qDescription .timeRangeExt').css('color','#f0f'); 

Еще варианты есть, если это динамически выложили, это добавить значение Приращение (например, el.id = 'timeRangeExt' + increment;), то, конечно, ссылайтесь на него своим новым идентификатором ($('#timeRangeExt2').css(...)).

+0

Это, похоже, опечатка в вопросе. – Scimonster

+0

Я сожалею, я отредактировал это. На самом деле есть 2 разных идентификатора, поэтому я их перепутал. Чтобы уточнить, его все еще сломано. – Jake

+1

Если вы все еще не можете выбрать его, убедитесь, что у вас нет двух идентификаторов с одинаковым значением. DOM не поддерживает его, и браузер, вероятно, только набирает первый экземпляр. –

0

есть опечатка в коде, и это должно быть как

$("#timeRangeExt").html("TESTING");