JQuery选择两种类型之间的第一种类型

时间:2017-10-22 09:24:06

标签: javascript jquery

我正在尝试找到选择器,以便在存在第三个标记的两个标记之间选择第一个类型。例如:

a = tf.feature_column.numeric_column("a");
b = tf.feature_column.numeric_column("b");
feature_columns = [a, b];

model = tf.estimator.DNNClassifier(feature_columns=feature_columns ...);

# To export
feature_spec = tf.feature_column.make_parse_example_spec(feature_columns);
export_input_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec);
servable_model_path = model.export_savedmodel(servable_model_dir, export_input_fn, as_text=True);

或任何秩序混合。

我想选择第一次出现的<div></div> <video></video> <img> OR <video>标记。在这种情况下,将选择<img>标记。但是如果:

video

然后会选择<img> <div></div> <video></video> 。但<img>永远不会被选中。

4 个答案:

答案 0 :(得分:4)

$('img, video').first()会先选择imgvideo

答案 1 :(得分:0)

这将选择两者并使用第一个:

$("div, video")[0]

这很容易适应选择第二个元素:

$("div, video")[1]

答案 2 :(得分:0)

没有jQuery:

&#13;
&#13;
let res = document.querySelectorAll('img, video')[0];
console.log(res);
&#13;
<div></div>
<video></video>
<img>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

使用jQuery暗示将标记包装到...包装器中的一种方法:

var validTags = ['img', 'video'];

function getFirstValidTag (wrapper) {
  return $('#' + wrapper).children(validTags.join(', '))[0];
}

console.log(getFirstValidTag('wrapper-1'));
console.log(getFirstValidTag('wrapper-2'));
console.log(getFirstValidTag('wrapper-3'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper-1">
  <div></div>
  <img src="" alt="" />
  <video></video>
</div>

<div id="wrapper-2">
  <img src="" alt="" />
  <div></div>
  <video></video>
</div>

<div id="wrapper-3">
  <video></video>
  <div></div>
  <img src="" alt="" />
</div>