我正在迭代div
using :
我可以div
在迭代中访问隐藏参数吗?
<DIV>
<div id="myDiv" <input type="hidden" name="Language" value="English"> />
</DIV>
$('#myDiv div.id').each(function() {
//access a hidden parameter of the current div here
});
我正在迭代div
using :
我可以div
在迭代中访问隐藏参数吗?
<DIV>
<div id="myDiv" <input type="hidden" name="Language" value="English"> />
</DIV>
$('#myDiv div.id').each(function() {
//access a hidden parameter of the current div here
});
您可以使用以下方法之一:
$('#myDiv div.id').each(
function(){
parameter = $(this).attr('data-hidden-parameter');
/* or:
parameter = $(this).data('hidden-parameter');
*/
});
第一个parameter = $(this).attr('data-hidden-parameter')
需要以下结构:
<div class="id" data-hidden-parameter="value"><!-- other stuff --></div>
而后者适用于使用data()
jQuery 的方法获取/设置:
$(selector).data('hidden-parameter','value'); // sets
$(selector).data('hidden-parameter'); // gets
如果您的意思是从元素的子元素的隐藏元素中检索文本或其他内容/属性,请div.id
使用以下标记:
<div class="id">
<input type="hidden" value="somethingOrOther" />
<span style="display: none;">Some text in a hidden element</span>
</div>
您可以使用以下方法检索该值:
$('#myDiv div.id').each(
function(){
parameter = $(this).find('input:hidden').val();
/* or:
parameter = $(this).find('span').text();
});
请注意,您的 jQuery 选择器意味着您正在根据这些元素的类迭代许多元素,而您的类名id
, 意味着您正在尝试基于id
元素的 进行搜索。这可能是演示您的方法的伪代码,但请不要使用id
. 这是完全有效的,但它非常令人困惑。尽管这只是我自己的,个人的,反对和回应。
已编辑,通过使用适当的选择器修改上述建议之一,提供更有针对性的答案:
var parameter = $('#myDiv').find('input:hidden[name="Language"]').val();
参考:
您的html
代码无效:如果您的意思是
<div id="myDiv"><input type="hidden" name="Language" value="English"></div>
这将针对您的输入
$('#myDiv input[type="hidden"]')
您不能将标签放在另一个标签内(或者,在 HTML 或 HTML 兼容的 XHTML 中,在 div 上使用自闭合标签语法)。您的 HTML 是无效的,并且会受到任何错误恢复解析器的影响。
例如,如果您有:
<div id="myDiv">
<div class="id">
<input type="hidden" name="Language" value="English">
</div>
</div>
然后你可以这样做:
$('#myDiv div.id').each(function(index, element) {
var foo = $(element).find('input').val()
});