This time I will show you how jQuery dynamically controls page elements. What are the precautions for jQuery to dynamically control page elements. The following is a practical case, let's take a look.
background
Recently I built a small system in which the user's friends need to be added, deleted, modified and checked on the page. It is not that complicated originally and can be implemented relatively easily in table form.
However, considering the user experience, we try not to use input when adding first, so we display all users in categories, and then click to add.
The added users are also displayed on the interface, showing the user's current friends. At the same time, click on the added friend to proceed with the next business operation.
Of course, the deletion operation is the same as on the mobile phone. There is a red "x" in the upper right corner. Click on the friend to delete it.
Finally, the interface can exit the deleted mode and return to the normal mode.
Function Description
1. Add user: Click to add a user in the list, and add onclick event
2. Delete user: Click on the friend to delete
3. Enter delete Mode: Change the interface to delete mode, switch onclick event
4. Restore normal mode: Change the interface to normal mode, switch onclick event
Code
//添加用户为自己常用好友 function Add(e) { var friend_id = e.id; var name = $("#" + friend_id).html(); //将要插入页面的好友html代码 var content = "<p id=\"friend" + friend_id + "\" class=\"case-item\" onclick=\"" + game_type + "(this)\"><p class=\"ih-item circle effect1\"><a href=\"#\"><img class=\"img_wrong\" src=\"image/wrong.png\" style=\"float: right; width: 15px; height: 15px;display:none\" /><p class=\"spinner\"></p><p class=\"img\"><h3 id=\"" + friend_id + "\">" + name + "</h3></p><p class=\"info\"><p class=\"info-back\"><h3 class=\"info-word\">" + info_word + "</h3></p></p></a></p></p>"; //向数据库添加,通过结果来确定界面显示 $.ajax({ url: "userlist.aspx/AddFriend", data: "{'username':'" + $('#username').text() + "','friend_id':'" + friend_id + "'}", type: 'Post', contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { if (result.d == "true") { $(".case-content").append(content);//数据库添加成功,插入html代码 } else { alert(result.d); } }, error: function (err) { alert("未知错误"); } }); } //删除好友 function Delete(e) { var friend_id = e.id; $.ajax({ url: "userlist.aspx/DeleteFriend", data: "{'username':'" + $('#username').text() + "','friend_id':'" + friend_id + "'}", type: 'Post', contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { if (result.d == true) { $("#" + friend_id).remove();//在界面移除好友 } if (result.d == false) { alert("删除失败"); } }, error: function (err) { alert("未知错误"); } }); } //重置好友-切换到删除模式 function ChangeToDelete() { $(".case-item").removeAttr("onclick");//删除onclick事件 $(".case-item").attr("onclick", "Delete(this);");//添加新的onclick事件 $(".img_wrong").css("display", "block");//使删除图标可见 $(".info-word").html("删除");//改变提示文字 } //关闭重置-切换到正常模式 function ChangeToNormal() { $(".case-item").removeAttr("onclick");//删除onclick事件 $(".case-item").attr("onclick", "");//添加新的onclick事件 $(".img_wrong").css("display", "none");//使删除图标不可见 $(".info-word").html(info_back);//恢复提示文字 }
There are two points learned in this exercise:
1. Interaction between Ajax and the background;
2. JQuery’s attribute control of page elements
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
jQuery operates the list soldier to dynamically add new elements to it
jQuery adds an assignment step to the child elements Detailed explanation
Detailed explanation on the use of jQuery Magnify plug-in
The above is the detailed content of How jQuery dynamically controls page elements. For more information, please follow other related articles on the PHP Chinese website!