单击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');
    });
});


它不会引发任何错误或执行任何操作。

最佳答案

我建议:

$(".select_button").on("click", function () {
    $(this).find('.selected').text(function (i, oldText) {
        return $.trim(oldText) == 'Use Image' ? 'Selected' : 'Use Image';
    });
});


JS Fiddle demo

参考文献:


on()
text()

关于javascript - 使用JQuery切换跨度文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22413158/

10-16 13:38