2013-08-24 6 views
1

Я хочу загрузить содержимое различных <li> в один <div> при каждом щелчке по <li>. Каждый раз, когда нажимается новый <li>, он должен затем выгрузить текущее содержимое и загрузить его содержимое в <div>.Загрузка содержимого из одного div в другой div по клику

<div id="main-content">Text that will be replaced</div> 

<li class="title">1 - This will replace "main-content" text when clicked</li> 
<li class="title">2 - This will replace "main-content" text when clicked</li> 
<li class="title">3 - This will replace "main-content" text when clicked</li> 
<li class="title">4 - This will replace "main-content" text when clicked</li> 

Как я могу сделать эту работу с jQuery? Похоже, это не должно быть слишком сложно, но я немного неофит jQuery.

ответ

1

Да, вы правы. Это легко в jQuery.

  1. узнать о селекторы (класс и идентификатор).
  2. обработчики событий (click) и навесные устройства для обработки событий (.on()).
  3. DOM Maniplation (.text() и .html())

$('.title').on('click', function() { 
    $('#main-content').text($(this).text()); 
}); 

Проверить это JSFiddle

Update: от ваших комментариев

<html> 
<head></head> 
<body> 
<div id="main-content">Text that will be replaced</div> 
<li class="title">1 - This will replace "main-content" text when clicked</li> 
<li class="title">2 - This will replace "main-content" text when clicked</li> 
<li class="title">3 - This will replace "main-content" text when clicked</li> 
<li class="title">4 - This will replace "main-content" text when clicked</li> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('.title').on('click', function() { 
    $('#main-content').text($(this).text()); 
}); 
}); 
</script> 
</body> 
</html> 

Попробуйте это как отдельный файл. Меня беспокоит то, что вы неправильно импортируете jQuery.

+0

Я пробовал это (и другие приведенные примеры), и по какой-то причине это не сработает для меня. Я работаю из Wordpress. Скопировал код в мой другой .js-файл, который правильно помечен в очередь (как jQuery), и я ничего не получаю. – user2439212

+0

Я также попытался использовать его прямо в файле шаблона Wordpress (как есть, так и изменив «$» на «jQuery») и до сих пор ничего не получил. – user2439212

+0

@ user2439212, что вы пытаетесь достичь на правильном JSFiddle. где вы добавляете html? – Praveen

1

Вы можете сделать это, как показано ниже.

$('.title').on('click',function(){ 

    $('#main-content').html($(this).html()); 

}); 

Fiddle Demo

+0

@Thirumalaimurugan хорошо, я удалил их сейчас. –

0
$('li.title').click(function(){ 
    $('div#main-content').text(this.text()); 
}) 

или использовать 'HTML' метод вместо 'текст', если вы хотите переместить также HTML Содержания

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