我將一些代碼從使用jQuery v1.11.2的項目複製到使用v3.1.0的新項目,並且以下代碼行不起作用。我在控制檯得到一個無法識別的表達錯誤:JQuery無法識別的表達式包含選擇器
$('#createEditTabs a[data-target=#tabEditConfig]').tab('show');
這條線在舊的項目能正常工作,但無法在新更新的一個工作。不確定使用包含選擇器時,爲什麼或者如果v3.1.0有一些差異。
我將一些代碼從使用jQuery v1.11.2的項目複製到使用v3.1.0的新項目,並且以下代碼行不起作用。我在控制檯得到一個無法識別的表達錯誤:JQuery無法識別的表達式包含選擇器
$('#createEditTabs a[data-target=#tabEditConfig]').tab('show');
這條線在舊的項目能正常工作,但無法在新更新的一個工作。不確定使用包含選擇器時,爲什麼或者如果v3.1.0有一些差異。
用引號將屬性值換行以避免#
開頭的問題。
$('#createEditTabs a[data-target="#tabEditConfig"]').tab('show');
// -^-- --^-
的屬性值應該是一個valid identifier或引用字符串。在你的代碼中,它不是valid identifier(包含#
),所以使用帶引號的字符串。
完美!謝謝。它必須是一些額外的驗證添加到jQuery的更高版本,然後我猜。堆棧溢出讓我在5分鐘內接受它會接受你的答案。 – NiallMitch14
@ NiallMitch14:很高興幫助:) –
@ NiallMitch14我不相信最近任何東西都改變了屬性選擇器。這更可能是您正在使用的瀏覽器的QuerySelector/QuerySelectorAll實現的修正。 –
你需要引用屬性值'[data-target =「#tabEditConfig」]' – billyonecan