我有一个带有FontAwesome图标的超文本标记语言按钮
<button id='vabs'><i class="fa fa-eye"></i> <span>Show</span></button>
我正在尝试通过以下方式获取button
(fa-)内的i
标记的类名
$('#vabs').click(function() {
alert(this.children.className);});
这会产生一个未定义的值。我该如何实现这一点?
发布于 2020-02-27 20:32:42
显然,还有其他方法可以做到这一点,但这里有两种方法:
childNodes[0]
获取#vabs
的第一个子级
$("#vabs").on("click", function() {
let className = this.childNodes[0].className
console.log(className)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id='vabs'><i class="fa fa-eye"></i> <span>Show</span></button>
$("#vabs").on("click", function() {
let className = $(this).find("i").attr("class")
console.log(className)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id='vabs'><i class="fa fa-eye"></i> <span>Show</span></button>
发布于 2020-02-27 20:35:03
您可以这样做,使用$(this).children().attr('class')
来获取属性类值,然后使用split()
函数:
$('#vabs').click(function() {
let classList = $(this).children().attr('class').split(" ");
let classAttr = $(this).children().attr('class');
console.log(classList);
console.log(classAttr);
});
<button id='vabs'><i class="fa fa-eye"></i> <span>Show</span></button>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
https://stackoverflow.com/questions/60433244
复制相似问题