悬停时更改文本
Change text on hover
我想将所选输入的文本更改为 ccc
。我尝试使用 .hover
,但没有任何反应。
$(function() {
$(".xxx").each(function() {
$(this).on("click", function() {
if ($(this).is(":checked")) {
$(this).next().html("bbb");
$(this).parents(".checkbox").toggleClass("selected");
} else {
$(this).next().html("aaa");
$(this).parents(".checkbox").toggleClass("selected");
}
});
});
$(".checkbox.selected").each(function() {
$(this)
.on("mouseover", function() {
$(this).find("p").html("ccc");
})
.on("mouseout", function() {
$(this).find("p").html("bbb");
});
});
});
.checkbox.selected:hover {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
这个 returns 是一个空的 jQuery 集合,因为运行时没有复选框有 selected
class:
$(".checkbox.selected")
相反,您可以使用 delegated 事件处理程序,如下所示:
$(document)
.on('mouseover', '.checkbox.selected', function() {
$(this).find("p").html("ccc");
})
.on('mouseout', '.checkbox.selected', function() {
$(this).find("p").html("bbb");
});
片段
$(function() {
$(".xxx").each(function() {
$(this).on("click", function() {
if ($(this).is(":checked")) {
$(this).next().html("bbb");
$(this).parents(".checkbox").toggleClass("selected");
} else {
$(this).next().html("aaa");
$(this).parents(".checkbox").toggleClass("selected");
}
});
});
$(document)
.on('mouseover', '.checkbox.selected', function() {
$(this).find("p").html("ccc");
})
.on('mouseout', '.checkbox.selected', function() {
$(this).find("p").html("bbb");
});
});
.checkbox.selected:hover {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
我想将所选输入的文本更改为 ccc
。我尝试使用 .hover
,但没有任何反应。
$(function() {
$(".xxx").each(function() {
$(this).on("click", function() {
if ($(this).is(":checked")) {
$(this).next().html("bbb");
$(this).parents(".checkbox").toggleClass("selected");
} else {
$(this).next().html("aaa");
$(this).parents(".checkbox").toggleClass("selected");
}
});
});
$(".checkbox.selected").each(function() {
$(this)
.on("mouseover", function() {
$(this).find("p").html("ccc");
})
.on("mouseout", function() {
$(this).find("p").html("bbb");
});
});
});
.checkbox.selected:hover {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
这个 returns 是一个空的 jQuery 集合,因为运行时没有复选框有 selected
class:
$(".checkbox.selected")
相反,您可以使用 delegated 事件处理程序,如下所示:
$(document)
.on('mouseover', '.checkbox.selected', function() {
$(this).find("p").html("ccc");
})
.on('mouseout', '.checkbox.selected', function() {
$(this).find("p").html("bbb");
});
片段
$(function() {
$(".xxx").each(function() {
$(this).on("click", function() {
if ($(this).is(":checked")) {
$(this).next().html("bbb");
$(this).parents(".checkbox").toggleClass("selected");
} else {
$(this).next().html("aaa");
$(this).parents(".checkbox").toggleClass("selected");
}
});
});
$(document)
.on('mouseover', '.checkbox.selected', function() {
$(this).find("p").html("ccc");
})
.on('mouseout', '.checkbox.selected', function() {
$(this).find("p").html("bbb");
});
});
.checkbox.selected:hover {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>
<div class="checkbox">
<label>
<input class="xxx" type="checkbox"/>
<p>aaa</p>
</label>
</div>