我需要将base64
个div包含在每个div中的第一个链接中。我有多个方框,当我点击我的div时,如果我的锚点href为.wrapMe
而不是go www.nnn.com
,则所有div都有一个锚点。
www.nnn.com
$(document).ready(function() {
$(".wrapMe").each(function() {
var $a = $('a', this);
});
})
.historyBox {
width: 300px;
padding: 10px;
background: rgba(0, 0, 0, .8);
color: #FFF;
margin: 10px;
}
.historyBox a {
color: #FFF;
}
答案 0 :(得分:1)
假设你想要这个
<div class="historyBox wrapMe">
<a href="http://www.youtube.com" class="historyName">Employe ID,Employe Name,ADFHSD</a>
<span>22 news</span>
</div>
成为
<a href="http://www.youtube.com" class="historyName">
Employe ID,Employe Name,ADFHSD
<div class="historyBox wrapMe">
<span>22 news</span>
</div>
</a>
然后为每个.wrapMe
找到其a
,将a
移至父级,然后将.wrapMe
移至a
。
$(".wrapMe").each(function() {
var a = $(this).find("a");
a.appendTo(this.parentNode);
a.append(this);
});
$(document).ready(function() {
$(".wrapMe").each(function() {
var a = $(this).find("a");
a.appendTo(this.parentNode);
a.append(this);
});
})
.historyBox {
width: 300px;
padding: 10px;
background: rgba(0, 0, 0, .8);
color: #FFF;
margin: 10px;
}
.historyBox a {
color: #FFF;
}
<div class="historyForm">
<div class="historyBox wrapMe">
<a href="http://www.google.com" class="historyName">Name,Surname,Bla Bla</a>
<span>17 news</span>
</div>
<div class="historyBox wrapMe">
<a href="http://www.youtube.com" class="historyName">Employe ID,Employe Name,ADFHSD</a>
<span>22 news</span>
</div>
</div>
<!-- history -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这假设这些.wrapMe
div是他们父母中唯一的东西,这对我来说可能是一个愚蠢的假设。因此,不要使用a.appendTo(this.parentNode)
,而是a.insertBefore(this)
:
$(".wrapMe").each(function() {
var a = $(this).find("a");
a.insertBefore(this);
a.append(this);
});
$(document).ready(function() {
$(".wrapMe").each(function() {
var a = $(this).find("a");
a.insertBefore(this);
a.append(this);
});
})
.historyBox {
width: 300px;
padding: 10px;
background: rgba(0, 0, 0, .8);
color: #FFF;
margin: 10px;
}
.historyBox a {
color: #FFF;
}
<div class="historyForm">
<div class="historyBox wrapMe">
<a href="http://www.google.com" class="historyName">Name,Surname,Bla Bla</a>
<span>17 news</span>
</div>
<div class="historyBox wrapMe">
<a href="http://www.youtube.com" class="historyName">Employe ID,Employe Name,ADFHSD</a>
<span>22 news</span>
</div>
</div>
<!-- history -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:1)
使用wrapAll
将所有.wrapMe
div包装在锚标记内。
参考代码:
$(document).ready(function() {
$(".wrapMe").each(function() {
$(this).wrapAll("<a href='"+ $(this).find("a").attr("href") +"' />")
});
})
&#13;
.historyBox {
width: 300px;
padding: 10px;
background: rgba(0, 0, 0, .8);
color: #FFF;
margin: 10px;
}
.historyBox a {
color: #FFF;
}
&#13;
<div class="historyForm">
<div class="historyBox wrapMe">
<a href="http://www.google.com" class="historyName">Name,Surname,Bla Bla</a>
<span>17 news</span>
</div>
<div class="historyBox wrapMe">
<a href="http://www.youtube.com" class="historyName">Employe ID,Employe Name,ADFHSD</a>
<span>22 news</span>
</div>
</div>
<!-- history -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:1)
这样的东西? Jsfiddle Demo。代码如下。
$('div.wrapMe').each(function() {
var newDiv = $('<div/>').addClass('wrappedUp');
$(this).before(newDiv);
var next = $(this).next();
newDiv.append(this).append(next);
});
.wrappedUp {
color: red;
border: 1px solid purple;
}
outside
<div class="wrapMe">blah</div>
<div class="wrapMe">blah blah blah</div>
outside
<div class="wrapMe">blah blah</div>
<div class="wrapMe">blah blah</div>
outside
<div class="wrapMe">blah blah</div>
<div class="wrapMe">blah blah</div>
outside