0

我正在使用标签创建一个表。我能够捕获元素,但无法将其转换为字符串并执行条件检查。请帮忙!!

$(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
     }
     *************/

        });
4

4 回答 4

2
if (value === "Y") {
    $(this).find(".user1").addClass("a-class");
}
于 2012-05-15T05:03:35.860 回答
1

如果您需要 html,则 find 返回结果集合,尝试生成非常具体的查找查询并选择第一个

var html = $(this).find(".user1").first().html();

但是在这种情况下可以使用 addClass,效果会好很多。

于 2012-05-15T05:06:05.853 回答
1

使用 jquery 的 .get() 方法。

var value = $(this).find(".user1").get(0);

现在您可以执行任何条件检查。

于 2012-05-15T05:09:41.693 回答
0

jquery 的 html() 方法只抓取元素的内部 html。获取元素的实际 html 的最佳方法是使用

element.outerHTML;

要做到这一点,尽管您实际上必须操作 dom 元素而不是 jquery 对象。

例如你会做这样的事情

var html = $(this).find(".user1").get(0).outerHTML;

不过,这会将所有html 作为字符串返回,包括其内容,而不仅仅是标签的 HTML。因此,如果您只想要元素 HTML,我将克隆该元素并清空其 HTML 内容。

var tag = $(this).find(".user1").clone().html('').get(0).outerHTML;
于 2012-05-15T05:34:52.050 回答