如何使用jQuery选择"id"属性<div>



如果这个问题与已经提出的其他问题类似,我很抱歉,但即使搜索了这些问题,我也没有得到预期的结果。

我的页面中有超过1个div标签,如:

<div id='slider1'>&@Slider@&</div>
<div id='slider2'>&@Slider@&</div>

我使用jQuery来选择div的id属性,其值将为&滑块@&因为我以后需要身份证。

我尝试过使用[attribute=value]选择器,但在这种情况下,它并没有像预期的那样工作

function showtext() {
    alert($("[text='slider']").prop('id'));
} 

我将在某个事件中调用此函数,问题是我在alertbox中得到了"未定义"。我哪里错了。

甚至尝试使用

function showtext() {
    alert($("[text='slider']").attr('id'));
} 

仍得到相同的"未定义"结果

提前感谢

您需要使用包含选择器,因为您想要测试div 的文本内容

alert($("div:contains('Slider')").prop('id'));

选择器$("[text='slider']").prop('id')尝试查找具有属性text和值slider的元素,类似于<div text="slider"></div>

您可以使用。

console.log($("div:contains('Slider')").prop('id'));

上面的代码只做第一个id,如果你想得到所有的id,那么请尝试下面的代码

$("div:contains('Slider')").each(function() {
alert(this.id)
});

查看这个小提琴手演示

使用这个。

$(document).ready(function(){
  $( $("div:contains(Slider)") ).each(function() {
   alert($(this).attr('id'));
  });

以上代码将返回匹配的div 的所有匹配id的列表

您可以使用contains来识别div中是否有Slider文本。我使用javascript数组来容纳div的所有id。我希望这会起作用-

<script type="text/javascript">
var divs = [];
$(document).ready(function(){
  $( $("div:contains(Slider)") ).each(function() {
  divs.push($(this).attr('id')));
  });
console.log(divs);
});
</script>

最新更新