如何用$(" this")更改元素属性。更改?

时间:2017-02-07 19:38:58

标签: jquery

编辑:谢谢大家的建议。我已就我的问题提出了建议的更改。我编辑了代码,没有语法错误,我再也没有从浏览器中得到任何错误。

这是我现在正在处理的问题:我收到警告信息" null"在每次表演中。

我一直在尝试使用复选框更改元素的值,将值设为" 1"或" 0"出于多种原因。  为了检查我是否成功,我在代码中放置了一个alert()来获取更改的属性。无论我选中还是取消选中复选框,我都会得到" undefined"信息。我想我搞砸了同步,但我不知道怎么做。



$(document).ready(function() {
  
$("#checkTabsence").change(function(){
    if($(this).is(':checked'))
    {
        var tutorPresence = document.getElementById("tutorCheckEl");
            tutorPresence.setAttribute = ("href", "1");
        var alertme = tutorPresence.getAttribute("href");
        alert(alertme)
    }
    else
    {
        var tutorPresence = document.getElementById("tutorCheckEl");
            tutorPresence.setAttribute = ("href", "0");
        var alertme = tutorPresence.getAttribute("href");
        alert(alertme)
    }    


});
  });

<html>
<input type="checkbox" id="checkTabsence">
<a id="tutorCheckEl" style="display:none;"></a>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

您遇到了一些问题:

  1. 您尝试在普通DOM元素上调用.attr(),但.attr()是一个jQuery函数。在DOM元素上调用setAttribute(),或使用jQuery而不是getElementById。
  2. 您忘记了jQuery ID选择器需要以#为前缀。将$("tutorCheckEl")更改为$("#tutorCheckEl")
  3. 如果您要在jQuery中使用.attr(),设置属性的语法为tutorPresence.attr("value", "1")
  4. 如果您要使用setAttribute(),设置属性的语法为tutorPresence.setAttribute("value", "1")

答案 1 :(得分:1)

问题是$("tutorCheckEl")<tutorCheckEl>匹配,我怀疑你在页面上有。{/ p>

您是否意味着使用$("#tutorCheckEl")来匹配<a id="tutorCheckEl">(或实际上任何带有id="tutorCheckEl"的元素)?

此外,锚标记(<a>)没有value属性。 value用于输入类型元素。