Reputation: 243
I'm trying to add a href tag and get the value of a div because I need to add that value on the href tag using jQuery, I have this code
<div class="field-items">
<div class="field-item even">book
<div class="icon-more_link"></div>
</div>
<div class="field-item odd">pencil
<div class="icon-more_link"></div>
</div>
</div>
I want to do this:
<div class="field-items">
<div class="field-item even">
<a href="search/book">book</a>
<div class="icon-more_link"></div>
</div>
<div class="field-item odd">
<a href="search/pencil">pencil</a>
<div class="icon-more_link"></div>
</div>
</div>
Could you please help me
Upvotes: 1
Views: 1008
Reputation: 6628
You can also try with Map function jquery map
var a = $("<a />");
$('.field-items > div.field-item').map(function(){
$(this)
.wrap($(a)
.attr('href','search/'+$(this).text().trim()));
return $(this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="field-items">
<div class="field-item even">book
<div class="icon-more_link"></div>
</div>
<div class="field-item odd">pencil
<div class="icon-more_link"></div>
</div>
</div>
<div class="field-items">
<div class="field-item even">book-new
<div class="icon-more_link"></div>
</div>
<div class="field-item odd">pencil-new
<div class="icon-more_link"></div>
</div>
</div>
Upvotes: 0
Reputation: 1779
You need to use .wrap function. More: http://api.jquery.com/wrap/
Here the code:
$('.field-item').each(function(){
// to get text and remove any unwanted space
var link = $(this).text().trim();
$(this).wrap('<a href="search/'+ link +'"></a>');
});
JSfiddle: https://jsfiddle.net/Ljvjvbkq/23/
Upvotes: 4
Reputation: 23
This is what you need:
$(document).ready(function(){
$('.field-item').each(function(){
var search = $(this).text().trim();
$(this).wrap('<a href="search/' + search + '"></a>');
});
});
https://jsfiddle.net/obLzf5st/1/
Upvotes: 0