数组中的jQuery对象?
我正在尝试编写一个each函数,该函数查看每个列表项,然后在该项中查看每个跨度,对每个跨度应用一些css 当我开始深入研究时,我迷失了方向,无法真正弄清楚如何正确地获得每个列表项中每个跨度的唯一值 有什么想法吗数组中的jQuery对象?,jquery,arrays,each,Jquery,Arrays,Each,我正在尝试编写一个each函数,该函数查看每个列表项,然后在该项中查看每个跨度,对每个跨度应用一些css 当我开始深入研究时,我迷失了方向,无法真正弄清楚如何正确地获得每个列表项中每个跨度的唯一值 有什么想法吗 编辑-我意识到这似乎是类名的工作,但我已经简化了css的类型,我只想在这个示例中使用css。稍后,我将传递一些更复杂的css,这些css将依赖于其他值,如scrollTop和viewportHeight。如果您更改项目结构,会更容易。。见下文 var items = [['font-w
编辑-我意识到这似乎是类名的工作,但我已经简化了css的类型,我只想在这个示例中使用css。稍后,我将传递一些更复杂的css,这些css将依赖于其他值,如scrollTop和viewportHeight。如果您更改项目结构,会更容易。。见下文
var items = [['font-weight: bold',
'text-decoration: underline',
'text-transform: uppercase'],
['color: purple', 'color: yellow'],
['color: pink']];
$(document).ready(function() {
$('li').each(function(liIdx) { // For each list item
var curCss = items[liIdx];
$(this).find('span').each(function(idx) {
var cssStyle = curCss[idx].split(':');
$(this).css(cssStyle[0], cssStyle[1]);
}); // Each span should get unique css value
});
});
首先,如果您更改您的
项目,效果会更好,如下所示:
var items = [
[
'font-weight: bold',
'text-decoration: underline',
'text-transform: uppercase',
],
[
'color: purple',
'color: yellow',
],
[
'color: pink'
]
];
$(document).ready(function() {
$('li').each(function(liIndex, li) {
$('span', this).each(function(index, el) {
var curCSS = items[liIndex][index].split(':');
$(this).css(curCSS[0], curCSS[1])
});
});
});
如果不想更改项目
结构,请尝试以下操作:
var items = [
{
spanOne: 'font-weight: bold',
spanTwo: 'text-decoration: underline',
spanThree: 'text-transform: uppercase'},
{
spanOne: 'color: purple',
spanTwo: 'color: yellow'},
{
spanOne: 'color: pink'}
];
$(document).ready(function() {
var ref = ['spanOne', 'spanTwo', 'spanThree']; // an array to make reference
$('li').each(function(liIndex, li) {
$('span', this).each(function(index, span) {
var curCSS = items[liIndex][ref[index]].split(':');
$(this).css(curCSS[0], curCSS[1])
});
});
});
我不太明白。spanOne
应该是什么颜色<代码>粉红色
或紫色
?为什么阵列中有东西?我不明白…我的意思是,如果是css,为什么不在css样式表中设置它,如果需要更改样式,请使用带有addClass
removeClass
的类,其思想是第一个列表项,其中第一个栏位的字体权重为粗体,第二个列表项的第一个栏位应该为紫色,第三个列表项第一个范围应为粉红色。我在这个演示中简化了css。最后的代码将包含其他值,如滚动位置。是否使用css类?这个例子很奇怪。。。有像spanOne等的名称,但这些跨度本身没有名称或ID。您可以使用类选择器动态添加或删除其他CSS类。试图以您的示例中所示的方式进行操作肯定是脆弱的。@Bruno为什么spanOne
、spanTwo
和spanThree
?我能改变这种结构吗?@Vega-yes。所有名称都可以更改。