我想在单击div时切换文本,但我无法使其工作。我可以使用此
进行一次更改$(document).ready(function() {
$(".select_button").on("click", function() {
$(this).find('.selected').text('Image Selected');
});
});
但我正试图让它切换
这是HTML
<div class="select_button">
<label>
<input type="checkbox" name="include_standard" class="include_standard"
value="<? echo $row['newest_image']; ?>">
<span class="selected">Use Image</span>
</label>
</div>
这是JQuery
$(document).ready(function() {
$(".select_button").on("click", function() {
$(this).find('.selected').text(text() == 'Use Image' ? 'Selected': 'Use Image');
});
});
它不会抛出任何错误或做任何事情。
答案 0 :(得分:2)
我建议:
$(".select_button").on("click", function () {
$(this).find('.selected').text(function (i, oldText) {
return $.trim(oldText) == 'Use Image' ? 'Selected' : 'Use Image';
});
});
参考文献:
答案 1 :(得分:0)
<script>
$(document).ready(function(){
$(".select_button").mousedown(function(){
$(this).text("Your New Text")
});
$(".select_button").mouseup(function(){
$(this).text("Your Old Text")
});
});
</script>
答案 2 :(得分:0)
<script>
$(document).ready(function(){
$(".select_button").click(function(){
$(this).addClass("NewClass");
$(this).text("Your New Text");
});
$(".NewClass").click(function(){
$(this).removeClass("NewClass");
$(this).text("Your Old Text");
});
});
</script>
答案 3 :(得分:0)
你可以调用范围内的另一个text()方法吗?
这可能意味着每次导致&#39;使用图像&#39;总是从你的三元声明中返回。
我建议将$(this).find('.selected')
的查找结果存储到变量中,然后在该变量上调用.text(),以便从包含所选元素的元素中获取文本。
答案 4 :(得分:0)
试试这个。
$(document).ready(function() {
$(".select_button").on("click", function() {
var spanvar = $(this).find('.selected');
$(spanvar).text(spanvar.text() == 'Use Image' ? 'Selected': 'Use Image');
});
});