我正在使用Jquery构建拖放应用程序。所有功能都正常工作,但我使用html.change来启用已删除项目的脚本。我现在遇到的问题取决于我对应用程序中的HTML做了多少更改,这会减慢应用程序的速度。
这是我使用
的Javascript代码$(function() {
$('html').change(function() {
$(".checkdrop").change(function() {
var checkdrop = $(this).closest('.labelDrop').find('.checkdrop').val();
var textul = $(this).closest('.labelDrop').find('.textUL');
var input = '<input type="text" placeholder="Value" class=""><br>';
if (checkdrop >= 3) {
$(this).closest('.labelDrop').find('.three').css("display", "block");
$('th.three').css("display", "table-cell")
}
if (checkdrop >= 4) {
$(this).closest('.labelDrop').find('.four').css("display", "block");
$('th.four').css("display", "table-cell")
}
if (checkdrop >= 5) {
$(this).closest('.labelDrop').find('.five').css("display", "block");
$('th.five').css("display", "table-cell")
}
if (checkdrop >= 6) {
$(this).closest('.labelDrop').find('.six').css("display", "block");
$('th.six').css("display", "table-cell")
}
if (checkdrop >= 7) {
$(this).closest('.labelDrop').find('.seven').css("display", "block");
$('th.seven').css("display", "table-cell")
}
if (checkdrop >= 8) {
$(this).closest('.labelDrop').find('.eight').css("display", "block");
$('th.eight').css("display", "table-cell")
}
if (checkdrop == 2) {
$(this).closest('.labelDrop').find('.three,.four,.five,.six,.seven,.eight').css("display", "none").val("")
}
if (checkdrop == 3) {
$(this).closest('.labelDrop').find('.four,.five,.six,.seven,.eight').css("display", "none").val("")
}
if (checkdrop == 4) {
$(this).closest('.labelDrop').find('.five,.six,.seven,.eight').css("display", "none").val("")
}
if (checkdrop == 5) {
$(this).closest('.labelDrop').find('.six,.seven,.eight').css("display", "none").val("")
}
if (checkdrop == 6) {
$(this).closest('.labelDrop').find('.seven,.eight').css("display", "none").val("")
}
if (checkdrop == 7) {
$(this).closest('.labelDrop').find('.eight').css("display", "none").val("")
}
});
});
});
如果我在&#34; checkdrop&#34;的最后发出警告它将被触发与我对HTML所做的更改量相同的次数。
有没有办法让这更容易并阻止代码循环?
提前致谢。
答案 0 :(得分:0)
查看代码时,我发现一个问题。
为什么你需要看到所有的HTML?
表演顺利
$('html').change(function() {
删除jquery的方法find(),因为骑行和所有dom元素都不能很好地执行
我不知道您的HTML,但请尝试使用parentNode找到最接近的
答案 1 :(得分:0)
我认为这是你的解决方案,我不知道你的HTML代码结构,否则它可能会导致优化解决方案然后这个。
SELECT * -- find
FROM table2 t2 -- from t2
WHERE EXISTS (
SELECT * FROM table1 t1
WHERE t1.name = t2.name -- that match
AND t1.age = t2.age -- Huh? "multiple matching fields" ?
AND t1.age > 18 -- with the same condition
);