2013-06-04 3 views
0

Мне нужно сохранить скрытый HTML для каждого элемента li. Каков наилучший способ сделать это?Сохранение скрытого HTML на странице?

Я попытался хранить его как данные для каждого элемента li, но скрытые теги HTML прикручивают элемент li.

Мне удалось это сделать, сохранив данные в скрытой текстовой области для каждого li.

Это лучший способ сделать это? Или есть лучший способ.

Я храню около 200 символов.

+2

скрытое текстовое поле «Я думаю» - лучший вариант для этого. –

+0

скрыт как? видимый в источнике? почему бы просто не использовать CSS? Дисплей: нет; и т. д. – ChelseaStats

+0

См. http://stackoverflow.com/questions/934463/html-javascript-how-to-store-data-referring-to-html-elements –

ответ

1

Вы можете поместить скрытое поле в каждое li, чтобы поместить данные! Я думаю, что скрытые поля будут работать хорошо, и нет ограничений для объема данных.

<input type="hidden" id="myId" value="value here pls..." /> 

Надеет, что это поможет вам!

5

Поместите свой скрытый HTML в div/span с классом CSS, который имеет:

display: none; 

Смотрите display недвижимость.

+0

@Downvoter - прокомментировать? – Oded

+0

Нет причин полагаться на CSS в таких вопросах. Обратите внимание: CSS не будет скрывать ничего от поисковых систем. –

+0

@ JukkaK.Korpela - Итак, что вы предлагаете? – Oded

1
<input type="hidden" value="your hidden stuff here" /> 
+0

Это просто скрытые данные, не связанные конкретно с каким-либо конкретным элементом. Он также будет отправлен как часть данных формы, если он окажется внутри формы, которая будет отправлена. –

+0

согласен. но для элемента EACH li это либо отображение: none; подход лучше. Я просто не уверен, насколько хорошо все разные браузеры реагируют со скрытым div внутри li – Kirka121

0

Являются ли ваши данные HTML или контент? Вам это нужно по программным причинам? Если это просто вопрос сокрытия контента, как для чтения с экрана при использовании изображения замены, например, использовать CSS:

#my_content { 
    text-indent: -9999px; 
} 

Beyond, что вы могли бы использовать скрытые поля формы, или просто использовать CSS, чтобы скрыть элемент полностью.

0
try this 
<div style="display:none;">your html here.....</div> 
0

Один из способов, которым я недавно научился, это использовать теги <script>. Вы можете добавить идентификатор к тегу сценария и ссылку в javascript, используя этот идентификатор, чтобы получить контент и что-то сделать с ним. Я использую это для встроенных шаблонов.

http://www.bennadel.com/blog/2411-Using-Underscore-js-Templates-To-Render-HTML-Partials.htm

<script id="foo" type="text/template"> 
    <p>your text here</p> 
</script> 

сейчас в реальной JavaScript:

<script type="text/javascript"> 
    <!-- assume jquery for the sake of assuming something --> 
    $(function() { 
    fooTemplate = $("#foo").clone(); 
    $("#target").append(fooTemplate); 
    }); 
</script> 

Я created a fiddle, но я должен был использовать DIV в HTML области, потому что скрипка не нравится иметь дополнительный узел сценария. .. Принцип тот же - просто измените сценарий в своем html на своей странице.

0

Если < Ли> дети с ола> элемент < и значения, которые вы хотите хранить целые числа, то вы можете хранить их как

<li value="11">DISPLAY ITEM</li> 
+0

Это делает число, показанное как номер элемента списка. –

0

другой подход:

если вы хотите, чтобы ваши HTML-данные присутствовали, но вы не хотите их вообще отображать(я предполагаю это, потому что вы сказали, что вы попробовали чтобы скрыть их внутри текстового поля - и вот почему я отправляю этот ответ) то почему бы просто не поместить его в комментарии?

<li> your code....  
<!-- 
    <div>my hidden html code of this li, of course i won't have nested comments in here!!!</div> 
--> 
</li> 

Конечно, это сложно, и не легко получить эти данные, но , если вам это нужно только для отладки будет хорошо.

В противном случае я выступаю за отображение: нет в завернутом div.

Капитан Очевидный.

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