我正在使用标签创建一个表。我能够捕获元素但不能将其转换为字符串并执行条件检查。请帮忙!!
$(document).ready(function(){
$('#user tr').each( function(){
//add item to array
var value = $(this).find(".user1").html();
/********* want to do something like
if (value == "Y") {
//apply a class
}
*************/
});
答案 0 :(得分:2)
if (value === "Y") {
$(this).find(".user1").addClass("a-class");
}
答案 1 :(得分:1)
如果你需要html,find会返回一个结果集合,尝试生成一个非常具体的查找查询并选择第一个
var html = $(this).find(".user1").first().html();
但是你可以在这种情况下使用addClass,效果更好。
答案 2 :(得分:1)
使用jquery的.get()方法。
var value = $(this).find(".user1").get(0);
现在你可以进行任何条件检查。
答案 3 :(得分:0)
jquery的html()方法只抓取元素的内部html。获取元素的实际html的最佳方法是使用
element.outerHTML;
要做到这一点虽然你必须实际操作dom元素而不是jquery对象。
例如,你会做这样的事情var html = $(this).find(".user1").get(0).outerHTML;
这会将html的 ALL 作为字符串返回,包括其内容,而不仅仅是标签的HTML。因此,如果您只想要HTML元素,我会克隆该元素并清空其HTML内容。
var tag = $(this).find(".user1").clone().html('').get(0).outerHTML;