如何从最近的列表项中提取 "href" 属性值
How to extract the "href" attribute value from within the closest list item
我的网站有一列带有 ID 的复选框,如 "keepbox1"、"keepbox2" 等。每个复选框都位于一个列表项中,还有一个 href
属性,如这个:
<li>
<a href="http://iNeedThisUrl.com" class="describer">Title</a>
<br>
<input id="keepbox1" type="checkbox" class="kboxes" name="keepbox1" />
<label for="keepbox1">Keep</label>
<div class="tinybox" alt="tinypic1" id="tinypic1" style="display:none;">
Content Here
</div>
</a>
</li>
页面上还有一个我用作按钮的元素
<a><label class="getFiles" for="lightbox-two">Submit</label></a>
当用户单击此按钮时,我有一个脚本循环遍历 keepbox
的每个变体以查看用户是否选中了它。如果选中了特定的 keepbox ,我想在该特定的 li
.
中提取 href 属性的值
因此,如果用户从上面的演示代码中检查了 keepbox1
,我希望它能提醒回“http://iNeedThisUrl.com”。
我正在使用以下脚本成功识别选中的 keepbox,但它在警告框中返回 "undefined"。我猜我没有正确抓住属性。有任何想法吗?谢谢!
<script type="text/javascript">
$(document).ready(function() {
$('.getFiles').click(function() {
for (i = 1; i <= 100; i++)
{
if ($("#keepbox" + i).prop('checked'))
{
var addressValue = $("#tinypic" + i).closest("li").attr("href");
alert(addressValue);
}
}
});
});
</script>
两期:
1) 你有关闭锚标记 </a>
而没有打开锚标记作为 li 中 div 的下一个兄弟。你需要删除它。
2) div 元素 #tinypic
+n 是锚元素的兄弟元素。您需要使用:
$("#tinypic" + i).siblings("a").attr("href");
或
$("#tinypic" + i).prevAll("a").attr("href");
或
$("#tinypic" + i).closest("li").find("a").attr("href");
$(".kboxes").each(function(){
if ($(this).prop('checked')) {
var addressValue = $(this).closest("a").attr("href");
alert(addressValue);
return false;
}
});
我的网站有一列带有 ID 的复选框,如 "keepbox1"、"keepbox2" 等。每个复选框都位于一个列表项中,还有一个 href
属性,如这个:
<li>
<a href="http://iNeedThisUrl.com" class="describer">Title</a>
<br>
<input id="keepbox1" type="checkbox" class="kboxes" name="keepbox1" />
<label for="keepbox1">Keep</label>
<div class="tinybox" alt="tinypic1" id="tinypic1" style="display:none;">
Content Here
</div>
</a>
</li>
页面上还有一个我用作按钮的元素
<a><label class="getFiles" for="lightbox-two">Submit</label></a>
当用户单击此按钮时,我有一个脚本循环遍历 keepbox
的每个变体以查看用户是否选中了它。如果选中了特定的 keepbox ,我想在该特定的 li
.
因此,如果用户从上面的演示代码中检查了 keepbox1
,我希望它能提醒回“http://iNeedThisUrl.com”。
我正在使用以下脚本成功识别选中的 keepbox,但它在警告框中返回 "undefined"。我猜我没有正确抓住属性。有任何想法吗?谢谢!
<script type="text/javascript">
$(document).ready(function() {
$('.getFiles').click(function() {
for (i = 1; i <= 100; i++)
{
if ($("#keepbox" + i).prop('checked'))
{
var addressValue = $("#tinypic" + i).closest("li").attr("href");
alert(addressValue);
}
}
});
});
</script>
两期:
1) 你有关闭锚标记 </a>
而没有打开锚标记作为 li 中 div 的下一个兄弟。你需要删除它。
2) div 元素 #tinypic
+n 是锚元素的兄弟元素。您需要使用:
$("#tinypic" + i).siblings("a").attr("href");
或
$("#tinypic" + i).prevAll("a").attr("href");
或
$("#tinypic" + i).closest("li").find("a").attr("href");
$(".kboxes").each(function(){
if ($(this).prop('checked')) {
var addressValue = $(this).closest("a").attr("href");
alert(addressValue);
return false;
}
});