как исправить устарела: eq селектор в jquery 3.4 - PullRequest
1 голос
/ 17 января 2020

Начиная с jQuery 3.4 :eq устарела, и вместо нее следует использовать .eq().

Вот фрагмент кода, который имеет несколько селекторов jQuery, использующих :eq. Как я могу сломать несколько селекторов, чтобы использовать .eq() вместо :eq?

$(this).find('th.draggable:visible:eq(' + n + ') span,td:visible:eq(' + (g.actionSpan + n) + ') span'));

Ответы [ 2 ]

1 голос
/ 17 января 2020

Примерно так: add ()

const $th = $('th.draggable:visible',this).eq(n);
const $td = $('td:visible',this).eq(g.actionSpan + n);
const $spans = $('span',$th).add('span',$td)
0 голосов
/ 17 января 2020

Чтобы выполнить логическое ИЛИ, вы выбираете первые элементы, а затем, используя add(), выбираете вторые элементы, чтобы включить их в результаты первого.

var $secondDivAndSpanInput = $('div').eq(1).find('input').add(
  $('span').eq(1).find('input')
);

console.log( $secondDivAndSpanInput.get() );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div><input type="text" name="divs" value="1"></div>
<div><input type="text" name="divs" value="2"></div>
<div><input type="text" name="divs" value="3"></div>

<span><input type="text" name="spans" value="1"></span>
<span><input type="text" name="spans" value="2"></span>
<span><input type="text" name="spans" value="3"></span>
...