我想知道如何实现这个目标:
<div id="1234345" class="item">
<script type="text/javascript">
function getItem() {
alert($(this).attr('id')); // I want this to be 1234345
}
getItem();
</script>
</div>
<div id="1239345" class="item">
<script type="text/javascript">
function getItem() {
alert($(this).attr('id')); // I want this to be 1239345
}
getItem();
</script>
</div>
它们都不起作用,但我需要确保两个部分具有完全相同的代码,但返回正确的ID。
答案 0 :(得分:1)
<div id="1234345" class="item"> <script type="text/javascript"> document.write('<div id="unique_id"></div>'); function getItem() { alert($('div#unique_id').parent().attr('id')); // this will be 1234345 $('div#unique_id').remove(); } getItem(); </script> </div>
答案 1 :(得分:0)
你有javascript如何向后与html交互,js没有在script-tag的上下文中运行。
答案 2 :(得分:0)
除了fredrikholmstrom的答案之外,第二个“getItem”函数会破坏第一个,所以你将获得一个。
答案 3 :(得分:0)
首先,您的ID不符合 HTML 4 spec
ID和NAME令牌必须以字母 ([A-Za-z])开头,后面可以跟任意数量的字母,数字([0- 9]),连字符(“ - ”),下划线(“_”),冒号(“:”)和句号(“。”)。
和
请勿将您的javascript与HTML标记混合 。将两者分开。
您可以使用
$(".item" ).attr ( "id" );
获取div的id
答案 4 :(得分:0)
这是你实际想到的吗?
<div class="item">
<input type="hidden" value="1239345"/>
<span class="button">Click me</span>
</div>
<div class="item">
<input type="hidden" value="45454443"/>
<span class="button">Click me</span>
</div>
<script type="text/javascript">
$('div.item span.button').click(function()
{
alert($(this).closest('div.item').children('input[type=hidden]').val())
})
</script>
答案 5 :(得分:0)
鉴于此标记
<div id="1234345" class="item"></div>
<div id="1239345" class="item"></div>
获取id的jQuery方法将是
$(function() {
// get an array of the matching element ids
var ids = $.map($('div.item'), function(v) { return v.id });
// concatenate string from the array values
alert(ids.join(','));
});
或者您可能想要每个<div class="item">
$(function() {
// attach a click event handler to all <div class="items">
// that exist when DOM has finished loading
$('div.item').click(function() {
alert(this.id);
});
});
答案 6 :(得分:0)
$(document).ready(function(){
$(".item").each(function(){
$("#"+this.id).html(GetItem(this.id));
});
});
您可以将此添加到您的页面。应该工作,除非你想把它绑定到任何“.item”的点击事件
答案 7 :(得分:-1)
我认为$(this)是调用函数的元素的id,在这种情况下,文档不是div。
检查一下,这是一个很好的阅读:http://www.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/