以精确文本匹配为目标(jQuery)

以精确文本匹配为目标(jQuery),jquery,filter,match,target,Jquery,Filter,Match,Target,我需要通过精确的文本匹配来定位多个类。我的一半代码似乎可以工作(当复选框未选中时,文本有一个紫色背景),但当选中复选框以文本为目标时,似乎什么都没有发生 if ($("input:checkbox:checked#checkbox-id").length > 0) { $('#main-content-panel .entry').filter(function(index) { return $(this).text() == "Text"; }).cs

我需要通过精确的文本匹配来定位多个类。我的一半代码似乎可以工作(当复选框未选中时,文本有一个紫色背景),但当选中复选框以文本为目标时,似乎什么都没有发生

if ($("input:checkbox:checked#checkbox-id").length > 0) {
        $('#main-content-panel .entry').filter(function(index) { 
        return $(this).text() == "Text"; }).css
        ('backgroundColor', 'orange'); 
        }

if ($("input:checkbox:not(:checked)#checkbox-id").length > 0) {
        $('#main-content-panel .entry').filter(function(index) { 
        return $(this).text() == "Text"; }).css
        ('backgroundColor', 'purple'); 
        }

jsIDLE:

您应该收听
更改事件:

var $elem = $('#main-content-panel .entry').filter(function (index) {
    return $(this).text() == "Text";
});
$('#checkbox-id').change(function () {
    var color = this.checked ? 'orange' : 'purple';
    $elem.css('backgroundColor', color);
}).change();

您忘记添加onchange事件处理程序

onchange="run()">
也将代码包装到函数中,如下所示

run = function () {
if ($("input:checkbox:checked#checkbox-id").length > 0) {
            $('#main-content-panel .entry').filter(function(index) { 
            return $(this).text() == "Text"; }).css
            ('backgroundColor', 'orange'); 
            }

if ($("input:checkbox:not(:checked)#checkbox-id").length > 0) {
            $('#main-content-panel .entry').filter(function(index) { 
            return $(this).text() == "Text"; }).css
            ('backgroundColor', 'purple'); 
            }
}
run();

你还没有在复选框更改时触发事件吗?您希望发生什么?对于第一段代码,我试图说,“如果选中复选框,请将背景颜色更改为橙色”。在小提琴中效果很好,但在我的代码中,当我选中复选框时,什么都没有发生。。。嗯……是的,不幸的是它没有帮助:/谢谢你的建议和帮助,还有什么可以防止这种情况发生吗?我看不到与此代码相关的错误。我不明白为什么它不能工作…@Chris我能看到与此代码相关的错误吗?你是说有错误吗?某些错误会阻止整个代码的执行。时间戳:25/01/2013 01:00:30错误:[异常…“JavaScript组件在调用方法:[nsIDOMEventListener::handleEvent]“nsresult:”0x8057030(NS_Error_XPC_JSOBJECT_没有函数_命名)”位置:“数据:否]您错误地复制了代码,并且没有将onchange事件处理程序放入。啊,谢谢你的小提琴。你的建议在我的代码中效果很好,但我也不知道为什么。我必须从另一个角度来处理我的问题。谢谢你抽出时间。