基本上我只是试图获取this.Text()的值并使用该值编辑所有类的css。
<div>
<img class="First" style="display:none">
<img class="Second" style="display:none">
<img class="Third" style="display:none">
<p><span class="firstWord">First</span> phrase</p>
</div>
<div>
<img class="First" style="display:none">
<img class="Second" style="display:none">
<img class="Third" style="display:none">
<p><span class="firstWord">Second</span> phrase</p>
</div>
<div>
<img class="First" style="display:none">
<img class="Second" style="display:none">
<img class="Third" style="display:none">
<p><span class="firstWord">Third</span> phrase</p>
</div>
我使用这段代码来获取第一个单词,但我对如何传递this.Text作为标识符有点失落。我只是试图用一个与this.Text()
的值相同的类取消隐藏图像:
$('.firstWord').each(function() {
fwtext = $(this).text();
$('#' $fwtext).css("display", "block");
});
div及其中的所有标签都是动态生成和重复的,所以我不能继续编辑它们。
非常感谢每个人的帮助。
答案 0 :(得分:1)
这是错误的:
$('#' + $fwtext)
//-----^
添加+
进行连接。此外,由于您使用的是class
而非id
,因此您必须使用.
代替#
:
$('.' + $fwtext)
答案 1 :(得分:0)
删除$
符号并添加+
代替
$('#'+ fwtext).css("display", "block");
根据您的评论,这里是编辑
$('.firstWord').each(function() {
$('<div></div>').text($(this).text()).css("display", "block");
});
答案 2 :(得分:0)
您的img
代码有一个类,而不是id。所以你的jQuery选择器应该是这样的:$("." + fwtext)
。是的 - 它只会在相应的div
中显示必要的图像。 jsFiddle进行测试。
$(".firstWord").each(function () {
var fwtext = $(this).text();
var currentBlock = $(this).parents("div");
currentBlock.find("." + fwtext).show();
});