如果这个问题与已经提出的其他问题类似,我很抱歉,但即使搜索了这些问题,我也没有得到预期的结果。
我的页面中有超过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>