当href属性未定义时,我想用jQuery更改链接内的文本。 这是我的代码;
<input type="text" id="sample"/><button id="button">submit</button>
<table id="table" border="1">
<tr>
<td>less than 50</td>
<td>less than 100</td>
<td>less than 500</td>
<td>less than 1000</td>
<td>more than 1000</td>
</tr>
</table>
JS:
$("#button").click(function()
{
var val=$("#sample").val();//alert(val)
if(val<50){
var col1=val;
}else if(val<100){
var col2=val;
}else if(val<500){
var col3=val;
}else if(val<1000){
var col4=val;
}else if(val>1000){
var col5=val;
}
var row='<tr>'+
'<td><a href="#">'+col1+'</a></td>'+
'<td><a href="#">'+col2+'</a></td>'+
'<td><a href="#">'+col3+'</a></td>'+
'<td><a href="#">'+col4+'</a></td>'+
'<td><a href="#">'+col5+'</a></td>'
$("#table tr:last").after(row);
$("#table").each(function(){
if ($(this).attr('href') == undefined){
var href=$(this).attr('href');
$(href).text("");
}
});
}
);
我需要所有未定义的href text()为null或0.I像这样使用。,
$("#table").each(function(){
if($(this).attr('href') == undefined){
var href=$(this).attr('href');
$(href).text("");
}
});
但它没有奏效。 Sql Fiddle:http://jsfiddle.net/2ok5mzx9/
答案 0 :(得分:2)
将它们定义为0
。
var col1 = 0;
col2 = 0;
col3 = 0;
col4 = 0;
col5 = 0;
if (val < 50) {
col1 = val;
} else if (val < 100) {
col2 = val;
} else if (val < 500) {
col3 = val;
} else if (val < 1000) {
col4 = val;
} else if (val > 1000) {
col5 = val;
}
答案 1 :(得分:1)
您没有将href
视为#
。
$("#table a").each(function () {
if ($(this).attr('href') == undefined || $(this).attr('href') == '#') {
$(this).text("");
}
});
答案 2 :(得分:0)
我肯定会用这个改变你的剧本:
$("#button").click(function() {
$('#table').append('<tr><td></td><td></td><td></td><td></td><td></td></tr>');
var range = new Array(Number.NEGATIVE_INFINITY, 50, 100, 500, 1000, Number.POSITIVE_INFINITY);
for (var i = 0; i < range.length; i++) {
if ($('#sample').val() > range[i + 1] || $('#sample').val() < range[i]) {
continue;
}
$('#table tr:last td:eq(' + i + ')').html('<a href="#">' + $('#sample').val() + '</a>');
break;
}
});
HERE是工作示例..