【发布时间】:2012-09-30 12:52:20
【问题描述】:
HTML
<select id="edit-attributes-1"></select>
<select id="edit-attributes-2"></select>
<select id="edit-attributes-3"></select>
<select id="edit-attributes-4"></select>
这是由 cms 生成的,我无能为力
JQUERY:
$('select[id^="edit-attributes-"][id!="edit-attributes-12"]').after('<span class="step stepdown step-'+$(this).attr('id')+'">+</span>');
所以我创建了这个,因为尝试 jquery.ui.spinner 在识别元素方面存在问题。
注意:
$(this).attr('id') here results as unknown.
结果
<select id="edit-attributes-1"></select>
<span class="step stepdown step-**unknown**">+</span>
<select id="edit-attributes-2"></select>
<span class="step stepdown step-**unknown**">+</span>
<select id="edit-attributes-3"></select>
<span class="step stepdown step-**unknown**">+</span>
<select id="edit-attributes-4"></select>
<span class="step stepdown step-**unknown**">+</span>
如您所见,$(this).attr('id') 的部分是未知的。
期望的结果
<select id="edit-attributes-1"></select>
<span class="step stepdown step-**edit-attributes-1**">+</span>
<select id="edit-attributes-2"></select>
<span class="step stepdown step-**edit-attributes-2**">+</span>
<select id="edit-attributes-3"></select>
<span class="step stepdown step-**edit-attributes-3**">+</span>
<select id="edit-attributes-4"></select>
<span class="step stepdown step-**edit-attributes-4**">+</span>
我不知道我怎样才能实现这种概念,或者请提出一种简化事情的最佳方法。
【问题讨论】:
-
使用这个必须有一个上下文。你在哪里称呼这个??
-
也最好使用 $('select[id^="edit-attributes-"]').not('[id="edit-attributes-12"]') 因为它更快比 $('select[id^="edit-attributes-"][id!="edit-attributes-12"]')
标签: jquery selector wildcard-mapping