У меня возникли трудности при попытке сделать if-statement с $(this).attr("id")
. Хочу, чтобы я хотел, чтобы при щелчке флажка AND и его идентификатор регистрировался в div #log
(это работает). Когда он щелкнут и не будет отмечен, jQuery должен проверить, совпадает ли зарегистрированная строка с идентификатором этого флажка. Если это так, этот диапазон должен быть удален.Если span содержит ID, то
Вот jsfiddle: http://jsfiddle.net/fLskG/1/
Итак, когда вы нажимаете Option 1
текст option-0
появится (это идентификатор CheckBox в). Когда вы снова нажмете кнопку, этот текст должен исчезнуть.
Вот сценарий:
$(document).ready(function() {
$(".menu").find("input:checkbox").click(function() {
if ($(this).is(":checked")) {
$("#textValue").text($(this).val());
$("#log").append("<span>" + this.id + "</span><br/>");
}
else {
if ($("#log").children("span").contains($(this).attr("id"))) {
console.log($(this).attr("id"));
$("#log").children("span").remove();
}
}
});
});
Я совершенно уверен, что проблема заключается в «содержит». Но я не знаю, как сделать jQuery проверкой наличия диапазона, который содержит идентификатор флажка, установленного в первой функции.
Спасибо.
Большое спасибо.Хорошая находка уль! Просто интересно, знаете ли вы, какая разница между this.id и $ (this) .attr («id»)? Большое спасибо. –
Мне тоже было интересно, тогда это просто ударило меня. 'this.id' - это фактический объект DOM (который имеет свойство' id'), а '$ (this)' - это объект jquery, который использует метод 'attr()' для получения атрибутов для всех элементов, соответствующих селектору и не имеет собственного свойства для конкретного идентификатора. – Anthony