2015-08-06 2 views
0

У меня есть следующий селектор:JQuery не работает в IE 8

$('#terminal-template').text() 

и после фрагмента страницы JSP внутри тела:

<script type="text/template" id="terminal-template"> 
    <li data-terminal-id="{{ id }}" class="{{ clazz2 }}"> 
     <label> 
      <input type="checkbox" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}" /> 
      <a href="#" title="" class="image"><img 
        src="getSmallThumbnail/{{imageId}}" 
        alt=""/></a> 

      <h3>{{ name }} 
       <small>{{ place }}</small> 
      </h3> 

      <p class="count">Проходимость: <span>{{ count }}</span> чел./час</p> 

      <p class="count">Стоимость: <span>{{ amount }}</span> руб./час</p> 

      <p class="count">Количество свободных слотов: <span>{{ numberOfEmptyCase }}</span> </p> 
     </label> 
    </li> 
</script> 

В IE $('#terminal-template').text() он возвращает пустой ("")

, но в хромированном состоянии - он работает должным образом и возвращает

" 
    <li data-terminal-id="{{ id }}" class="{{ clazz2 }}"> 
     <label> 
      <input type="checkbox" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}" /> 
      <a href="#" title="" class="image"><img 
        src="getSmallThumbnail/{{imageId}}" 
        alt=""/></a> 

      <h3>{{ name }} 
       <small>{{ place }}</small> 
      </h3> 

      <p class="count">Проходимость: <span>{{ count }}</span> чел./час</p> 

      <p class="count">Стоимость: <span>{{ amount }}</span> руб./час</p> 

      <p class="count">Количество свободных слотов: <span>{{ numberOfEmptyCase }}</span> </p> 
     </label> 
    </li> 
" 
+1

Вы пытались использовать '.html()'? '.text()' может терпеть неудачу с тегами 'script' в IE8. – manji

+0

Да, вы правы – gstackoverflow

+0

, какую версию jquery вы используете? – Sushil

ответ

0

При извлечении HTML из шаблона, хранящегося внутри блока сценария фиктивного кода, вы всегда должны использовать .html(), а не text().

например. это будет работать во всех браузерах:

var html = $('#terminal-template').html(); 

Я на самом деле удивлен, что text() возвращает что-либо на любом браузере, но я предполагаю, что Google, хотя это может быть полезным. Технически содержимое сценария является «текстом», но это не стандартизировано во всех браузерах, поэтому его лучше избегать. html() гарантирует возврат innerHTML недвижимости так всегда будет работать во всех браузерах.