HTML:
<input class="test removeMe" type="text">
jQuery的:
$(function () {
function isEmpty() {
if (!$(".test").val()) {
$(this).removeClass("removeMe");
} else {
$(this).addClass("addMe");
}
}
isEmpty();
});
请告诉我,我错在哪里?
我希望isEmpty
在加载/重新加载时触发并检查输入是否有值。如果它没有,它将删除removeMe
类。如果它确实有一些值,它会向它添加addMe
类。
控制台是空的,我无法弄清楚为什么这不能正常工作。
更新
非常奇怪......如果它是空的,它会相对发出相应的警报,但不会添加/删除类。 https://jsfiddle.net/37tt3x72/1/
更新02
确实有效,但不完全......
https://jsfiddle.net/37tt3x72/2/
如果this
替换目标元素,那么this
就不起作用了。所以问题仍然存在:为什么crossOrigin
不在这里工作?
答案 0 :(得分:0)
$(function () {
function isEmpty() {
if (!$(".test").val()) {
alert("Empty");
$(this).removeClass("removeMe");
} else {
alert("not Empty");
$(this).addClass("addMe");
}
}
isEmpty();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="test removeMe" type="text">
&#13;
答案 1 :(得分:0)
在就绪功能上从文档调用功能。
function isEmpty() {
if (!$(".test").val()) {
$(this).removeClass("removeMe");
} else {
$(this).addClass("addMe");
}
}
$(document).ready(function(){
isEmpty();
});
答案 2 :(得分:0)
Rory McCrossan 在此提供了精彩且内容丰富的答案:Why "$(this)" doesn't work in the following example
并且 adeneo 指出了关于this
如何运作的另一个问题/答案:How does the "this" keyword work?