2013-03-16 124 views
0

我必须使用JavaScript进行下面提到的在jquery中完成的工作,并且完美地工作。之所以用JavaScript是知道如何将其与javascript.I做谷歌,但没有发现任何线索,如何把它做将jquery函数转换为javascript

http://jsfiddle.net/2vP24/

$('.first').find('.sub1').next().css('background','#ff0000') 
+0

得到jQuery的来源和解决它,需要一定的时间:) – 2013-03-16 08:32:24

回答

2

你不会找到一个解决方案,正是如果你正在寻找的是一行代码。如果你深入了解DOM,你最终会弄清楚你需要什么,但这是一种方法,假设每个.first内只有一个.sub1

var els = document.querySelectorAll('.first'); 

[].forEach.call(els, function(el) { 
    var next = el.querySelector('.sub1').nextSibling; 
    next.style.backgroundColor = '#ff0000'; 
}); 
+0

将它一起工作旧的浏览器? – Carlos 2013-03-16 08:38:55

+0

不,只有IE9 +。如果你想要旧的浏览器,我会坚持使用jQuery,而不是那些你必须写的丑陋的代码......但是我会留给你,你有链接到文档和一些代码来处理。 – elclanrs 2013-03-16 08:40:07

1

如果你不关心支持旧的浏览器,这应该做同样的事情:

[].forEach.call(document.querySelectorAll('.first .sub1 + *'), function(elem) { 
    elem.style.backgroundColor = '#ff0000'; 
});