通过使用jQuery从另一个元素中的类名开始来获取元素

时间:2018-06-12 15:40:32

标签: jquery

我的问题与this one非常相似,但区别在于我想按ID选择一个元素,然后我想选择所有包含以类名前缀开头的类的元素

我试过

var x = $('#divID [class^="col-"]');

但这不起作用

2 个答案:

答案 0 :(得分:1)

如果课程出现在class属性的开头,那么您展示的内容确实有用。如果没有,您需要自己过滤:

var x = $("#divID *").filter(function() {
    return this.className.split(" ").some(s => s.startsWith("col-"));
});

......这不理想,但除非你每秒做几百次,否则这不是问题。

var x = $("#divID *").filter(function() {
    return this.className.split(" ").some(s => s.startsWith("col-"));
});
x.css("color", "green");
<div id="divID">
  <div class="foo col-xs-2">foo col-xs-2</div>
  <div class="foo">foo</div>
  <div class="foo col-xs-4 bar">foo col-xs-4 bar</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

相反,除了col-类之外,给你的元素一个公共类,所以你可以选择它。

答案 1 :(得分:0)

这是您问题的最佳答案,我亲自检查了此代码。

$(document).ready(function(){
    $("#divi_d [class^='col']").css("background-color", "yellow");
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="divi_d">
<input name="nationality" type="text" value="Chinese">
<input name="nation" type="text" value="English">
<input class="col-lg-2" name="country" type="text" value="Germany">
<input name="anothernation" type="text" value="Norwegian">
</div>

&lt; script&gt;
$(document).ready(function(){
$(“#divi_d [class ^ ='col']”)。css(“background-color”, “黄色”);});
&LT; /脚本&GT;

请不要忘记在开头包含Jquery。

如果您有任何疑惑,请告诉我。

参考网站www.webnius.com