我正在学习Jquery。现在我正在创建一个添加到收藏夹链接的列表。我想使用jquery将li值(例如html / Jquery / css)存储在本地存储上。一旦添加到本地存储,我想将“添加到收藏夹”的文本更改为“删除”。
然后,当我点击“删除”链接后,我想再次“添加到收藏夹”。
请检查 this link ,我已粘贴当前代码。
感谢。
$('.lists a').click(function(e){
var favs = $(this).parent().html();
alert(favs);
$(this).text('Remove');
});
答案 0 :(得分:3)
<强> jsfiddle 强>
else:
r = next((j for j in range(u ,0, -1) if j not in A), None)
if r is not None:
Ans = r
print(Ans)
break
<ul class="list">
<li id="pancakes">Pancakes</li>
<li id="donuts">Donuts</li>
<li id="cupcakes">Cupcakes</li>
<li id="icecream">Icecream</li>
<li id="cookies">Cookies</li>
<li id="chocolate">Chocolate</li>
</ul>
.list li {
cursor: pointer;
}
.list li:hover:after,
.list li.fav:after {
content: ' \2605';
color: rgb(255, 203, 0);
}
.list li.fav:hover:after {
content: ' \2606';
}
答案 1 :(得分:2)
有很多方法可以做到这一点。这是其中之一。
第一个函数检查以前是否已在localstorage
中保存任何值,并相应地设置链接文本的文本。每次刷新/重新打开页面时都会运行。
第二个功能保存/删除localstorage
中的密钥。
我已使用<li>
的文字作为查询的关键字(即&#39; html5&#39;,&#39; jQuery&#39; ...等)。您可以选择使用命名空间(例如localStorage.getItem('myNamespace' + favs)
)作为前缀,并使用相同的方法来检索值,以便在需要时将其与localstorage
中的其他值分开。
var addFav = "Add to Fav";
var remFav = "Remove";
// update anchor tag text based on previous stored selections
$('.lists a').each(function(e){
var favs = $(this).parent().contents().filter(function(){
return this.nodeType == 3;
})[0].nodeValue
if (localStorage.getItem(favs) === "saved") {
$(this).text(remFav);
} else {
$(this).text(addFav);
}
});
// this function assumes that 1) <li> has at least some text outisde the <a>,
// and 2) the text is unique for every <li> - since it is used as a key in the lookup
$('.lists a').click(function(e){
// Grab the text of the parent, whilst excluding the text in the anchor tag (https://stackoverflow.com/a/14755309/1544886).
var favs = $(this).parent().contents().filter(function(){
return this.nodeType == 3;
})[0].nodeValue
if (localStorage.getItem(favs) === null) {
localStorage.setItem(favs, "saved");
$(this).text(remFav);
} else {
localStorage.removeItem(favs);
$(this).text(addFav);
}
});
<ul class="lists">
<li>Html5 <a href="#"></a></li>
<li>Jquery <a href="#"></a></li>
<li>Php <a href="#"></a></li>
<li>Photoshop <a href="#"></a></li>
</ul>
外部演示:https://jsfiddle.net/n4byghd3/1/
要测试演示,请选择一个或两个项目,然后关闭并重新打开该页面(或者只需再次单击“运行”)。
答案 2 :(得分:1)
您好,您可以使用以下语法使用本地存储,因此只需设置&#39;添加到收藏&#39; 然后点击删除按钮获取&#39;添加到收藏&#39;价值回归。
您可以使用此语法
在本地存储中设置值$em = $this->getDoctrine()->getManager();
$empleado_alta=$em->getRepository('EmpleadosBundle:Empleados')->find($this->get('session')->get('empleado_id'));
您可以使用此语法
在本地存储中获取值localStorage.setItem('AddToFav', "Add To Fav");
您可以使用此语法
删除本地存储中的值var grdTotal= localStorage.getItem('AddToFav');
感谢。
答案 3 :(得分:0)
<强> HTML 强>
<ul id="FavList" class="lists">
<li>Html5 <a href="#">Add to Fav</a></li>
<li>Jquery <a href="#">Add to Fav</a></li>
<li>Php <a href="#">Add to Fav</a></li>
<li>Photoshop <a href="#">Add to Fav</a></li>
</ul>
<强>的JavaScript 强>
if (!localStorage.getItem("LocalData")){ /*Check if, localStorage item `LocalData` is not set Yet*/
localStorage.setItem("LocalData",$('#FavList').html()); /*Set `#FavList` HTML To LocalStorage item `LocalData`*/
}else{
$('#FavList').html(localStorage.getItem("LocalData")); /*Set LocalStorage item `LocalData` to `#FavList` HTML*/
}
$('.lists a').click(function(e){
var text = $(this).text();
$(this).text(text == "Add to Fav" ? "Remove" : "Add to Fav"); /*Toggle the text between `Add to Fav` and `Remove`*/
localStorage.setItem("LocalData",$('#FavList').html()); /*Update localStorage item `LocalData` from `#FavList` HTML*/
});
注意:以下是localStorage,setItem,getItem
的详细信息答案 4 :(得分:0)
添加了简单的两步,添加并检查到localStorage。
您还可以在以下位置查看代码:https://jsfiddle.net/1h433ykk/1/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<ul class="lists">
<li>Html5<a href="#">Favorite</a></li>
<li>Jquery<a href="#">Favorite</a></li>
<li>Php<a href="#">Favorite</a></li>
<li>Photoshop<a href="#">Favorite</a></li>
</ul>
var addToFav = "Favorite";
var remove = "Remove";
/* Check for each a tag if already added to localStorage
* .contents[0].nodevalue returns value of tag a
*/
$('.lists a').each(function(e) {
if (localStorage.getItem($(this).parent().contents()[0].nodeValue)) {
$(this).html(remove);
} else {
$(this).html(addToFav);
}
});
//create click event and check if nodeValue is already added or not and set text accordingly
$('.lists a').click(function(e) {
var nodeVal = $(this).parent().contents()[0].nodeValue;
if (localStorage.getItem(nodeVal)) {
localStorage.removeItem(nodeVal);
$(this).html(addToFav);
} else {
localStorage.setItem(nodeVal, "true");
$(this).html(remove);
}
});
body {
font-family: arial;
font-size: 13px;
}
ul {
max-width: 200px;
}
ul,
ul li {
padding: 0;
margin: 0;
list-style: none;
}
ul li {
padding: 10px;
border: 1px solid #CCC;
margin: -1px 0 0 0;
}
ul li a {
color: #cb0070;
text-decoration: none;
float: right;
}