javascript - 根据 javascript 中的元素 id 在加载时删除和添加类

标签 javascript jquery html

当我选择两个按钮时,页面会重新加载,并且有两个值被分配给变量。我正在尝试对其进行设置,以便在页面加载时删除一个类,并根据两个变量的值添加一个类。

我通过提取从两个隐藏输入字段及其 ID 传递的值来获取变量

<input id="noType" name="noType" type="hidden" value="1" />
<input id="noAssign" name="noAssign" type="hidden" value="0" />

我在加载时获取它们的值。然后我有 id type1 type2 type3 的按钮我从中添加和删除类。

$(document).ready(function () {
    var type = document.getElementById("noType").value;
    var assign = document.getElementById("noAssign").value;
    $("type" + type).removeClass("btn-xxx")
           .addClass("btn-success");
    $("assigned" + assign).removeClass("btn-xxx")
           .addClass("btn-success");

});

我几乎 100% 确定我从 getElementById 中获取了正确的 id从隐藏的输入中获取并在尝试引用按钮的 id 时正确附加使用它们。不会添加或删除这些类。我错过了什么?

这些是按钮

<button id="type1" class="btn-t btn-xxx type-button" 
onclick="SetType(1);"><i class="fa fa-info-circle fa-fw">
</i>Invitation</button><button id="type2" class="btn-t btn-xxx type-button" 
onclick="SetType(2);"><i class="fa fa-info-circle fa-fw">
</i>Assistance</button><button id="type3" class="btn-t btn-xxx type-button" 
onclick="SetType(3);">
<i class="fa fa-info-circle fa-fw">
</i>Finalize</button>

最佳答案

因为 removeClass()addClass() 是 jQuery 函数。

错误是正确的,因为 document.getElementById("type"+ type) 返回 DOM 元素,并且它们没有上述方法。可以使用 ID Selector (“#id”) 执行相同的操作

Selects a single element with the given id attribute.

使用

$("#type" + type).removeClass("btn-xxx").addClass("btn-success");
$("#assigned" + assign).removeClass("btn-xxx").addClass("btn-success");

关于javascript - 根据 javascript 中的元素 id 在加载时删除和添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387277/

相关文章:

javascript - 将 Canvas 弧线移向鼠标

jquery - 在砖石网格中对齐 tumblr 帖子

php - 用get方法提交表单,其他页面收不到

jquery - 如何使用 jquery 从左到右更改 css 位置?

javascript - 如何在 jQuery ajax 请求中获取 HTML 网页的一部分?换句话说,如何在 ajax 调用中过滤网页内容?

javascript - 在 Angular app.routes.js 解析函数中使用参数

javascript - 查询 - 无法选择子数据属性(未定义)

html - Bootstrap 3 将文本环绕图像

html - Css 链接定位,我应该使用 a 还是 :link

javascript - 在世界/国家 map 上绘制数据