以下是一小段HTML(它包含所有相关的HTML和javascript代码):
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$('.remove-temporary-photo').click(function() {
var url = '/my-account/remove-media/id/' + $(this).attr('id');
$.get(url, function(data) {
//
});
var id;
id = $('ul.inl').attr('id');
alert(id);
//$.get('/my-account/temporary-album-photos/id/' + id, function(data) {
// $('#temporaryPhotos').html(data);
//});
});
}); //]]>
</script>
<ul class="inl" id="4">
<li>
<a href="#53" class="img"><img src="/uploads/photos-thumbs/53.jpg" alt="Public Photo #53" /></a>
<p class="options">
<input type="text" name="title53" id="53" value="Title..." class="title" style="width: 81px; margin-top: 5px; border: 0;" />
<a href="#53" class="blue remove-temporary-photo" id="53">remove</a>
</p>
</li>
</ul>
<div class="clear"> </div>
注意这一行:
alert(id);
我得到的是一个空白的弹出窗口。 id不应该等于4吗?我不明白。这很重要的原因是因为我需要现在注释的下三/四行代码的id。
编辑:
现在,我使用的是有效ID,但警报仍为空:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$('.remove-temporary-photo').click(function() {
var id = $(this).attr('id');
id = id.substr(2);
alert(id);
//var url = '/my-account/remove-media/id/' + id;
//$.get(url, function(data) {
//
//});
id = $('.inl:first').attr('id');
id = id.substr(2);
alert(id);
//$.get('/my-account/temporary-album-photos/id/' + id, function(data) {
// $('#temporaryPhotos').html(data);
//});
});
}); //]]>
</script>
<?php if (count($this->photos) > 0): ?>
<ul class="inl" id="id<?php echo $this->escape($this->a->id); ?>">
<?php foreach ($this->photos as $p): ?>
<li>
<a href="#id<?php echo $this->escape($p->id); ?>" class="img"><img src="/<?php echo $this->escape($p->thumb_path); ?>" alt="<?php echo $this->escape($p->title); ?>" /></a>
<p class="options">
<input type="text" name="title<?php echo $this->escape($p->id); ?>" id="id<?php echo $this->escape($p->id); ?>" value="Title..." class="title" style="width: 81px; margin-top: 5px; border: 0;" />
<a href="#id<?php echo $this->escape($p->id); ?>" class="blue remove-temporary-photo" id="<?php echo $this->escape($p->id); ?>">remove</a>
</p>
</li>
<?php endforeach; ?>
</ul>
<div class="clear"> </div>
<?php endif; ?>
答案 0 :(得分:4)
您的ID无效 - 不允许以数字开头。 根据{{3}}:
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。