我想要一种方法来获取网站中的所有src和href属性(如图像和链接)。我怎么能在javascript中做到这一点? 我试试这个:
var ilist=document.links;
for(var i = 0; i < ilist.length; i++) {
if(ilist[i].href) {
alert(ilist[i].href)
}
}
但是对于某件事,这不起作用。只适用于。我想要所有标签的所有href和所有src。有人能帮助我吗?
答案 0 :(得分:5)
使用普通JS,您可以: 我们提供的字符串 querySelectorAll 只是一个普通的CSS选择器。
var srcNodeList = document.querySelectorAll('[src],[href]');
for (var i = 0; i < srcNodeList.length; ++i) {
var item = srcNodeList[i];
if(item.getAttribute('src') !== null){
alert(item.getAttribute('src'));
}
if(item.getAttribute('href') !== null){
alert(item.getAttribute('href'));
}
}
答案 1 :(得分:1)
使用jquery,您可以使用all选择器
在所有元素上运行每个元素<?php
if(strtotime($row['entry_cutoff_date']) < strtotime($today)){
$tstyle = ' padding-top:30px; padding-bottom:30px;';
$output = "<a href='event-list.php' style='background:#428bca; border: 5px solid #000; box-shadow: 5px 5px 3px #666666; font-size: 16px; height: 65px;line-height: 16px; padding: 15px 30px; width: 137px; color:#FFF;'><strong> Closed ".$row['entry_cutoff_date']."</strong></a><br /><br />";
}elseif(strtotime($row['accept_entries_date']) > strtotime($today)){
$tstyle = ' padding-top:30px; padding-bottom:30px;';
$output = "<a href='event-list.php' style='background:#428bca; border: 5px solid #000; box-shadow: 5px 5px 3px #666666; font-size: 16px; height: 65px;line-height: 16px; padding: 15px 30px; width: 137px; color:#FFF;'><strong>Registration opens on ".$row['accept_entries_date']."</strong></a><br /><br />";
}else{
$tstyle = '';
$output = "<a href='event.php'><img style='width: 137px; height: 65px;' alt='' src='images/signup_button.jpg' border='0'></a><br /><hr />";
}
?>
<td style='text-align: center;<?=$tstyle;?>'><?=$output;?></td>
答案 2 :(得分:1)
使用jQuery,但你必须注意性能。
$("[src],[href]").each(function(){
var $el = $(this);
if( $el.is("a") ) {
// do some stuff with A element
} else if( $el.is("img") ) {
// do some stuff with A element
}
});