我有以下一点javascript并尝试了许多不同的方法来从div获取dvservicestitle类的文本,以及div中带有dvservicescontent类的任何li标签。既不工作,也不确定原因。任何人都知道这段代码有什么问题吗?
if (html == "") html = "<div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div>";
var title = $(html).find(".dvservicestitle");
var elements = $("dvservicescontent li", $(html));
答案 0 :(得分:0)
你可以使用:
var title = $(".dvservicestitle").text();
var elements = $(".dvservicescontent li").text();
答案 1 :(得分:0)
原因是find()
方法在当前节点上找到子节点。您的HTML变量是您要查找的div,因此find()
方法找不到它。你需要将它包装在另一个容器中。
html = "<div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div>";
$(html).find(".dvservicestitle")
>> []
$(html).hasClass("dvservicestitle")
>> true
html = "<div><div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div></div>"
$(html).find(".dvservicestitle")
>> [<div class="dvservicestitle">Our Services</div>]
答案 2 :(得分:0)
.find
搜索您没有的后代。要搜索的div存在于顶层,因此它是jQuery对象中的元素之一。
使用.filter
过滤正确的元素:
$(html).filter(".dvservicestile").text();
答案 3 :(得分:-2)
var title = $(html).find(".dvservicestitle").html();
var elements = $(html).find('.dvservicescontent ul').children();