- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这更像是一个知识问题,我需要对这个函数
进行一些澄清。 第一种方法是我同事做的,第二方法是我做的。我不喜欢 each
循环,有时我会根据需要使用它,我喜欢的是操纵元素并使用它(第二种方法)。
我的问题是 1st 或 2nd 方法哪个更快?我们可以为这个功能使用 foreach
吗?它会更好吗?
$('select.test').on('change', function() {
var option_val = $(this).val(),
option_data_val = $(this).data('id');
$('select.test').each(function() {
if ($(this).data('id') != option_data_val) {
$(this).find('option[value="' + option_val + '"]').addClass('gotIt');
}
});
});
.gotIt{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="select_parent">
<select class="test" data-id="1">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
<div class="select_parent">
<select class="test" data-id="2">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
<div class="select_parent">
<select class="test" data-id="3">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
$('select.test').on('change', function() {
var option_val = $(this).val();
$('select.test').addClass('dummy-class');
$(this).closest('.select_parent').find('select.test').removeClass('dummy-class');
$('select.test option').removeClass('gotIt');
$('select.test.dummy-class option[value='+option_val+']').addClass('gotIt');
});
.gotIt{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="select_parent">
<select class="test" data-id="1">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
<div class="select_parent">
<select class="test" data-id="2">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
<div class="select_parent">
<select class="test" data-id="3">
<option value="1" class="hi">1</option>
<option value="2" class="hi">2</option>
<option value="3" class="hi">3</option>
<option value="4" class="hi">4</option>
<option value="5" class="hi">5</option>
<option value="6" class="hi">6</option>
</select>
</div>
最佳答案
我想与您分享一段代码并且可能对其他人也有帮助。可以看到完成一组代码的时间。下面我在您的控制台上分享了一个代码,您可以看到每个过程所需的时间(在每个事件上:Change)。
<script>
// On 1 set of your code
$('select.test').on('change', function() {
start_time = new Date().getTime();
var option_val = $(this).val(),
option_data_val = $(this).data('id');
$('select.test').each(function() {
if ($(this).data('id') != option_data_val) {
$(this).find('option[value="' + option_val + '"]').addClass('gotIt');
}
});
request_time = new Date().getTime() - start_time;
console.log(request_time);
});
</script>
<script>
// On 2 set of your code
$('select.test').on('change', function() {
start_time = new Date().getTime();
var option_val = $(this).val();
$('select.test').addClass('dummy-class');
$(this).closest('.select_parent').find('select.test').removeClass('dummy-class');
$('select.test option').removeClass('gotIt');
$('select.test.dummy-class option[value='+option_val+']').addClass('gotIt');
request_time = new Date().getTime() - start_time;
console.log(request_time);
});
</script>
而且,我还注意到您的两个不同的代码部分(1. 使用 each()
和 2. 不使用 each()
)没有以类似的方式工作你所期待的。所以这也可能影响时间。第一个,保留 .gotIt
类,即使我们更改选择值,而其他人不这样做。
关于javascript - 'each' 和 'addClass workaround' 文件加载 jQuery 更快更容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45407745/
我正在开发一个包含大量类的项目,我想将它们编译成 jar。我知道入口点和manifest.txt以及我的jar中的所有需要的项目,我的类都已编译并具有.class文件和所有内容,但问题是我必须将所
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
在我的计算结束时,我打印结果: System.out.println("\nTree\t\tOdds of being by the sought author"); for (ParseTree p
我有一个具有多个时间范围的数据,例如考虑以下列 | from1 | to1 | from2 | to2 | from3 | to3 | | 06:00 | 07:30 | 09:30 |
我对 JavaScript 和 jQuery 相当缺乏经验,但对于我正在处理的 ASP.Net 网站,我需要两者。我正在慢慢弄清楚,但我一直严重依赖 StackOverFlow。 有谁知道有什么工具(
我正在考虑用 PHP 编写一些代码来更改图像的所有 id 以匹配其 alt。在 jQuery 中这会更容易实现吗? 我需要做的是走这条线 img alt="拼图"src="images/cole.jp
鉴于 websinte 的结构
假设我有 struct Value { int foo(); }; size_t *begin = ..., *end = ...; 如果我想在 C++03 中对一堆 Value 索
我开始创建一个将与公共(public) API 交互的 iPhone 应用程序。 我的问题是,使用 XML 还是 JSON 哪个更快和/或更容易? 最佳答案 根据 Sam Soffes , Touch
如果 PHP 是用 C 编写的,那么用 PHP 编写服务器端脚本与用 C 编写服务器端脚本究竟有什么区别,尤其是如果我使用的是 C 的 Web 框架可以处理 mysql 连接、SESSIONS 等?
我记得有一次看到一个人做的一个项目,他用某种语言用类似 json 的字符串编写了这样的东西,创建了非常好的 html。有没有类似的东西我可以用于 C# 或 .NET radio-box{ AName,
我的一位网页设计师 friend 仍在使用表格制作网站,但他使用 css 非常好,我也很好地使用 css,但使用 而且我在布局方面比我的 friend 更多地面临跨浏览器问题。 我向我的 friend
我想创建一个图,在那里可以看到 x 轴的替代刻度,例如pi/2, pi, 3pi/2, 等等。到目前为止,这对我来说只适用于一个相当不方便的代码(看看我创建的行 pi.halfs , pi.fulls
我是一名优秀的程序员,十分优秀!