Действительно ли возможно выбрать все плавания на странице с JQuery?

Вы должны использовать отдельный счетчик для массива результатов и продолжать увеличивать счетчик, если число делится на цель.

Примерно так:

int[] result=new int[array.length];
int resultindex=0; //create a separate counter
for(int i=0;i<array.length;i++)
{
    if(array[i]%target==0)
    {
        result[resultindex]=array[i];
        ++resultindex; //update the counter
    }
}
5
задан 8 May 2009 в 17:59
поделиться

3 ответа

Создание новых селекторов - это своего рода развлечение, поэтому я сделал следующее:

Использование:

: hasCssAttr (свойство, значение ...)

Свойство - это css, которое вы хотели бы использовать для сравнения

value - это значения, с которыми вы хотели бы сравнивать (у вас может быть более одного)

$(':hasCssAttr(float, left)').css('float', 'right');

Источник Люк:

$.expr[':'].hasCssAttr = function(objNode, intStackIndex, arrProperties, arrNodeStack) {
  var arrArguments = arrProperties[3].split(','); 
  var cssPropVal = $(objNode).css(arrArguments[0]); // need for speed
  for (var i = 1 ; i < arrArguments.length ; i++)
    if (cssPropVal == arrArguments[ i ].replace(/^\s+|\s+$/g,""))
        return true;      
  return false;
}

По сути, это выбирает любое ol 'css свойство. Я полагаю, вы могли бы исключить цикл, если бы вам нужно было только одно значение, вроде ненужного. Кроме того, мне интересно, может быть, было бы интереснее сделать это в eval, чтобы вы могли проводить численные сравнения. Тем не мение. Вот оно.

Благодарю Бена за то, что он помог мне.

5
ответ дан 13 December 2019 в 19:35
поделиться

Это должно сработать без взлома классов:

$("*").filter( function() {
    return /^(left|right)$/.test( $(this).css("float") )
})

Кстати, в jQuery уже есть хороший способ найти все элементы display: none :

$(":hidden")
5
ответ дан 13 December 2019 в 19:35
поделиться

Одна из идей - применить плавающий стиль через CSS, затем вы можете выбрать имя класса и при необходимости отобразить / скрыть.

 <style>
    .right { float: right; }
    .left { float: left; }
 </style>

 <div class='left'>...</div>
 <div class='right'>...</div>

  $('.left,.right').hide();
1
ответ дан 13 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: