我正在尝试选择一些HTML内容,然后使用HTML内容与数组元素进行比较。
这是我正在使用的代码。
$('.foo').each(function (i) {
$(this).click(function () {
for (i in Data) {
foo = JSON.parse(Data[i]);
for (f in foo) {
if (foo[f].Title == **???**) {
$('.vert-text').html('<h1>' + foo[f].Title + '</h1>');
$('#topRow').html('<h3>' + foo[f].Content + '<h3>');
}
};
};
});
});
如何使用点击时选择的HTML文本与foo[f].Title
进行比较?
我能够与一个字符串进行比较,这适用于一个场景,但它显然不适用于任何其他选项。
修改 我想要选择的标记采用以下格式:
<ul>
<li>Heading1</li>
<li>Heading2</li>
<li>Heading3</li>
<li>Heading4</li>
</ul>
选择标题并将其与对象中的标题匹配,然后显示相应的信息。
任何想法都会很棒。
干杯。
答案 0 :(得分:2)
你可以使用$(this).text()
(你可能需要修剪它),如
if (foo[f].Title == $.trim($(this).text())) {
}
也没有必要使用.each()
//click handler for all elements
$('.foo').click(function () {
for (i in Data) {
foo = JSON.parse(Data[i]);
for (f in foo) {
if (foo[f].Title == $.trim($(this).text())) {
$('.vert-text').html('<h1>' + foo[f].Title + '</h1>');
$('#topRow').html('<h3>' + foo[f].Content + '<h3>');
}
};
};
});
答案 1 :(得分:0)
如果你想要html内容:
if (foo[f].Title == $(this).html()) {
如果您只想要文字内容:
if (foo[f].Title == $(this).text()) {