如何以 ajax 方式更改 dom 元素,但不使用 javascript 方式替换 dom 内容
How to change dom element in ajax way but not replace the dom content using javascript way
默认情况下,页面将显示up vote button
用户单击up button
后,页面将再次重新加载,然后显示down vote button
现在我想在不加载页面的情况下以 Ajax 方式执行此操作,
但是如何在不重新加载页面的情况下更改按钮?
- if not comment.has_evaluation?(:votes, current_user)
= link_to vote_comment_path(comment, type: "up"), method: :post do
%button.btn.btn-xs.btn-success
Like this
- else
= link_to vote_comment_path(comment, type: "down"), method: :post do
%button.btn.btn-xs.btn-danger
Unlike this
我假设您使用背景图像来控制up vote
和down vote
按钮。试试这个:
var $btn = $('#btn-id');
$.ajax({
url: '/rate',
data: {key: value},
type: 'post'
}).done(function(res) {
if (res.success) {
if (res.myRate.up) {
$btn.removeClass('down-vote-bg');
$btn.addClass('up-vote-bg');
} else {
$btn.removeClass('up-vote-bg');
$btn.addClass('down-vote-bg');
}
}
}).fail(function() {
alert('Action failed');
});
查看 jQuery Ajax API 了解更多信息。
相关文章:
- Windows形成web浏览器控件和Javascript更改的DOM
- 将DOM节点值与字符串Javascript进行比较
- 用于操纵DOM API的Javascript设计模式
- 使用DOM javascript包含文本和图片的按钮
- 使用静态 HTML 或静态 DOM Javascript 设计页面
- DOM Javascript正在删除子节点
- 如何确定是否在父元素的开始或结束存在文本?HTML DOM &JavaScript
- 如何停止DOM javascript事件处理程序
- PHP动态加载的数据在DOM / JavaScript中无法识别
- 通过DOM javascript操作添加HTML ID
- 测试多个变量的条件?Dom Javascript
- 重载页面不改变DOM - Javascript
- building html/php vs DOM/javascript
- 在XUL中使用DOM JavaScript动态创建复选框
- Chrome DOM/JavaScript Reference
- 将元素放置在DOM JavaScript中的特定位置
- 一个很好的DOM/Javascript参考网站
- DOM Javascript:无法在PHP中找到输入
- HTML DOM Javascript not working?
- Documentation for the DOM, JavaScript & CSS