2015-08-17 2 views
0

Я довольно новичок в JQuery и HTML, поэтому, пожалуйста, несите меня. У меня есть index.html с вызовом jquery-1.9.1.min.js, и я хочу создать скрипт, который будет загружать внешний html-файл. Index.html - довольно длинный файл, поэтому я хочу разбить раздел для более чистого кода и упростить его изменение.Как передать переменную идентификатора элемента в функцию загрузки jQuery

<html class="no-js"> 

<main> 
<section id="testLoad"></section> 
</main> 

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>')</script> 
<script>$("#testLoad").load("test.html #part-1"); </script> 

</body> 
</html> 

Как вы можете видеть из приведенного выше кода, он загружает файл html в порядке. То, что я хочу сделать, это установить «# part-1» в качестве переменной, чтобы снова вызвать сценарий загрузки, но вызывать другой идентификатор из другой части файла.

Я также был бы открыт для различных методов, кроме этой функции загрузки. Все, что мне нужно - это вызвать внешний html-файл (имеется около 30 различных разделов), чтобы он мог отображать данные разделов. Если я это сделаю, это способ создать заголовочный файл, чтобы все эти разделы могли иметь доступ к одной таблице стилей?

ответ

0

Вы бы поставить функцию нагрузки внутри именованной функции и передать в качестве аргумента:

function loadStuff(divId) { 
    $("#testLoad").load("test.html #" + divId + ''); 
} 

В обработчике события вы бы назвали:

$(document).ready(function() { 
    loadStuff('someId'); 
}); 

Вы также можете пройти в идентификатор цели аналогичным образом.

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

0

Похоже, вы хотите объединить несколько разных «частичных» html-файлов, и для этого я бы порекомендовал вам заглянуть в Angular, который превосходит именно это.

Не знаете, почему вы загружаете файл jQuery js так, как вы. Это действительно не выглядит безопасным.

Другое, что вы можете сделать, это создать «iffy», как его называют некоторые люди, где это сценарий, который автоматически вызывается при загрузке страницы.

<script> 
    (function(){ 
    //code goes here 
    }()) 
</script> 

Этот код будет запускаться при загрузке этой страницы.

+0

Я рассмотрю использование Углового. Спасибо! – dtptw6

+0

Это намного сложнее, чем JQuery, но он намного мощнее, и мне нравится кодировать его больше. –

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