如何在点击图片 link 时更改 Div 的内容?
How to change content of a Div on clicking image link?
我正在创建一个包含两列的布局。
一个有图像和第二个内容。现在我想要,每当用户点击图像时,第二列中的内容就会发生变化。
HTML
<div class="col-sm-6">
<div class="row" style="width: 75%;margin: 0 auto;">
<div class="col-xs-6">
<a href="#" class="p1"><span id="image1"><b>Planning</b></span></a>
</div>
<div class="col-xs-6">
<a href="#" class="p2"><span id="image2"><b>Results</b></span></a>
</div>
</div><br>
<div class="row" style="width: 75%;margin: 0 auto;">
<div class="col-xs-6">
<a href="#" class="p3"><span id="image3"><b>Improvements</b></span></a>
</div>
<div class="col-xs-6">
<a href="#" class="p4"><span id="image4"><b>Communication</b></span></a>
</div>
</div>
<div class="st">
<div class="planning">
<h3>Planning</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="results">
<h3>Results</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="improvements">
<h3>Improvements</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="communication">
<h3>Communication</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
</div>
<div class="col-sm-6 how-text">
</div>
CSS
.st { display:none; }
.how-text { min-height: 300px;
height: auto;
background-color: #e6ebe4;
padding: 20px;
margin: 25px 0px 10px 0px;
border-radius: 3px; }
Jquery
$(document).ready(function() {
$('.p1').click(function(){
$('.how-text').html($('.planning').html());
});
$('.p2').click(function(){
$('.how-text').html($('.results').html());
});
$('.p3').click(function(){
$('.how-text').html($('.improvements').html());
});
$('.p4').click(function(){
$('.how-text').html($('.communication').html());
});
});
在Fiddle
中试试自己
您没有在代码中添加 jquery。您也可以将 4 个点击事件缩小为单次点击事件:
$('a').click(function () {
$('.how-text').html($('.st div:eq('+$('.row > div').index($(this).parent())+')').html());
});
您可以访问 div 的内部,因为它显示 none。
你可以使用
.st {height:0;overflow:hidden;}
而不是display:none
https://jsfiddle.net/19suymt4/2/
这可能是您的解决方案
已编辑
这是使用
最简单的方法
getElementsByClassName
为了您的理解,我更改了您的代码
我正在创建一个包含两列的布局。
一个有图像和第二个内容。现在我想要,每当用户点击图像时,第二列中的内容就会发生变化。
HTML
<div class="col-sm-6">
<div class="row" style="width: 75%;margin: 0 auto;">
<div class="col-xs-6">
<a href="#" class="p1"><span id="image1"><b>Planning</b></span></a>
</div>
<div class="col-xs-6">
<a href="#" class="p2"><span id="image2"><b>Results</b></span></a>
</div>
</div><br>
<div class="row" style="width: 75%;margin: 0 auto;">
<div class="col-xs-6">
<a href="#" class="p3"><span id="image3"><b>Improvements</b></span></a>
</div>
<div class="col-xs-6">
<a href="#" class="p4"><span id="image4"><b>Communication</b></span></a>
</div>
</div>
<div class="st">
<div class="planning">
<h3>Planning</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="results">
<h3>Results</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="improvements">
<h3>Improvements</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
<div class="communication">
<h3>Communication</h3>
<p class="why-text">Search Marketing Group is a leader in creating unique Seo strategies that would help your website rank on page 1 of
Google for your most competitive keywords in your niche. We pride ourself on creating custom solutions for businesses and
making it work for them. </p>
</div>
</div>
<div class="col-sm-6 how-text">
</div>
CSS
.st { display:none; }
.how-text { min-height: 300px;
height: auto;
background-color: #e6ebe4;
padding: 20px;
margin: 25px 0px 10px 0px;
border-radius: 3px; }
Jquery
$(document).ready(function() {
$('.p1').click(function(){
$('.how-text').html($('.planning').html());
});
$('.p2').click(function(){
$('.how-text').html($('.results').html());
});
$('.p3').click(function(){
$('.how-text').html($('.improvements').html());
});
$('.p4').click(function(){
$('.how-text').html($('.communication').html());
});
});
在Fiddle
中试试自己您没有在代码中添加 jquery。您也可以将 4 个点击事件缩小为单次点击事件:
$('a').click(function () {
$('.how-text').html($('.st div:eq('+$('.row > div').index($(this).parent())+')').html());
});
您可以访问 div 的内部,因为它显示 none。 你可以使用
.st {height:0;overflow:hidden;}
而不是display:none
https://jsfiddle.net/19suymt4/2/
这可能是您的解决方案
已编辑
这是使用
最简单的方法getElementsByClassName
为了您的理解,我更改了您的代码