我一直在使用jQuery来做到这一点:
$element.find("*").each(function() {
var $this = $(this);
$this.removeAttr("style width align");
if ($this.is("embed")) {
$element.append("<div class='video'></div>");
$this.attr("width", 640).attr("height", 360).parent().appendTo("#" + element + " .video");
};
});
Run Code Online (Sandbox Code Playgroud)
但我一直在读,.each()与简单的for循环(jsPerf)相比,jQuery的方法相当慢.我的问题是如何用纯JS模仿这个?找到a中的所有元素div,然后遍历节点.
我试图搜索这个,但我似乎找到的只是jQuery答案 - 无处不在.
我尝试了其他的东西,但这与我选择所有后代一样接近:
var children = document.getElementById('id').getElementsByTagName('*');
for( var i = 0; i<children.lengtth; i++){
children[i].removeAttribute("style");
console.log(children[i]);
}
Run Code Online (Sandbox Code Playgroud) 哪个选项最好:
在标记中有一个元素,用CSS隐藏.如果启用了JS,则显示该元素.
如果启用了JS,则标记中没有元素并动态创建它.
如果用户没有JS,我不希望显示div.我的问题不是如何编写不同的案例,这是最好的和为什么.
编辑:当我说"最好"时,我的意思是支持你的回答,为什么它对你最好.可以是速度/语义/等.我想要的是能够更好地了解每一个的利弊.速度也不是问题,因为它只是一个元素,所以它就像毫秒.
对于第一个选项,它可能更快,但我们有不必要的标记和CSS规则.因为如果没有JS,那么根本就没有内容,更不用说隐藏它了.
现在是第二个选项,即使它可能不那么快,我将不同的部分分开,只是真正加载必须加载的部分.
我遇到了flexslider的问题,我需要从web服务下载base64中的图片.下载完成后,我.append()来添加我的幻灯片......
但有时,一切都完美添加,但滑块没有正确重新加载所以我得到这样的代码:

而不是像这样的代码:

在这种情况下,如何重新启动滑块?
这可能使用JavaScript或PHP吗?我希望能够检测到我的私人CA是否安装在用户的iOS或Android设备上.从那里我可以决定是否提供安装说明.我一直是"googlin",并没有找到任何有用的东西.有人曾尝试过这个吗?我想知道我应该花时间学习什么.如果不可能,您能否建议使用浏览器替代方案?
编辑:我在这里没有选择,这不是我的决定.出于其他安全原因,将使用私有CA证书.
我需要一点帮助我的代码有366个图像需要更改,名为001.jpg,002.jpg ... 366.jpg.它获取日期并为其绘制图片.代码有效,但我无法在img标签中输出.
<html>
<head>
<script type="text/javascript">
var firstJan = Math.floor((new Date().setFullYear(new Date().getFullYear(),0,1))/86400000);
var today = Math.ceil((new Date().getTime())/86400000);
var dayOfYear = today-firstJan;
var bgdImage;
if((dayOfYear+'').length == 1)
bgdImage = '00'+dayOfYear+'.jpg';
else if((dayOfYear+'').length == 2)
bgdImage = '0'+dayOfYear+'.jpg';
else
bgdImage = dayOfYear+'.jpg';
document.getElementById('bla').src = "bgdImage";
</script>
</head>
<body onload=img()>
<img id="bla" width="100%" height="100%" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我对 jQuery 很陌生,所以如果这听起来很愚蠢,请不要跳过我。我想知道是否有一种方法可以选择其中的“#ammountbest2”、“input”和“textarea”,以便我可以使用一个选择器一次性隐藏和清除里面的所有值,这样我就不会必须拼出每一个。像兄弟姐妹或父母之类的东西。有了这个,我可以在最后附加:“.val('').css('display', none')”
$('#ammountbest').change(function () {
var ammountbest = ""
$('#ammountbest option:selected').each(function () {
ammountbest += $(this).text() + "";});
if(ammountbest == "0") {$('#ammountbest1,#ammountbest2').css('display', 'none');}
if(ammountbest == "1") {
$('#ammountbest1').css('display', 'block');
$('#ammountbest2 input,#ammountbest2 textarea').val('');
$('#ammountbest2').css('display', 'none');
}
if(ammountbest == "2") {
$('#ammountbest1,#ammountbest2').css('display', 'block');
}
})
.trigger('change');
<select id="ammountbest">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<!-- 1 Winners -->
<div id="ammountbest1" style="display:none;">
<label for="besttitle1" title="Title">Title 01:</label><br>
<input name="besttitle1" id="besttitle1" size="30" type="input">
<label for="bestschool1" title="School">School 01:</label><br>
<input name="bestschool1" id="bestschool1" size="30" type="input">
<label for="bestvideo1" title="Video">Video …Run Code Online (Sandbox Code Playgroud) 使用$(docu ...)与你在里面定义的变量和函数有什么区别/优点,从使用函数然后在$(docu ...)中调用它
$(document).ready(function (){
initialize();
});
function initialize(){
hello
}
Run Code Online (Sandbox Code Playgroud)
过度使用这个:
$(document).ready(function (){
hello
});
Run Code Online (Sandbox Code Playgroud) javascript ×6
jquery ×3
css ×2
html ×2
certificate ×1
cryptography ×1
flexslider ×1
forms ×1
optimization ×1
php ×1
slider ×1