我有以下代码(https://jsfiddle.net/weemoLya/3/):
<div style="padding: 0px 41px 14px; line-height: 15pt;"><span style="font-family: georgia;">Anwoarnoernb bneobnoqbno nb bnorgneoüqrgn beoünbeoütnboetuübn nbwetiobnweoütnho übnoet wübn weton<br />
otnwboün boenbhiowt nb etiopwogj weto getiogei oeghqeogje ghqeoü gheoügneoqüh<br />
<br />
Ihre Aufgaben:</span></div>
<ul>
<li style="padding: 0px 41px 14px;">test</li>
<li style="padding: 0px 41px 14px;">test2</li>
</ul>
我想更改div框的填充。但是因为我在一个框架中,我不能在html代码中改变它。我需要通过javascript更改它。实际上有很多div盒子,而不仅仅是这个盒子。但是我要改变的div框没有ID,所以我不能改变这个DIV。
但我想改变<ul>
- 标签前面的每个DIV。这可能吗?
具体:
更新
我真的忘了提到我需要一个没有JQuery的解决方案。遗憾。
答案 0 :(得分:2)
您可以使用选择器和方法:
$('div + ul').prev().css('padding', 0)
或者仍然在jQuery中:
$('ul').prev('div').css('padding', 0) // i guess it would be slower, if it really matters...
答案 1 :(得分:1)
您可以使用.prev()选择div,并使用.css()
更改填充$("ul:eq(0)").prev().css("padding","*values*")
答案 2 :(得分:1)
使用javascript可以使用jQuery做什么。
var ul = document.querySelector('div + ul');
for(var i=0,el;el=ul.parentNode.children[i];++i){
if(el === ul){
//this is your div. Do whatever you want with it.
var div = ul.parentNode.children[i-1];
break;
}
}
//if you have to handle many such elements
var uls = document.querySelectorAll('div + ul');
for(var j=0,ul;ul = uls[j];++j){
for(var i=0,el;el=ul.parentNode.children[i];++i){
...