2013-05-21 5 views
0
$(function() { 
var getName = $('#fa_welcome').text(); 
var myName = getName.replace('Welcome ',""); 
var a = $('#recent_topics').find('a[href*="/u"]').filter(':contains("'+myName+'")').length; 
var b = $('#recent_topics').find('a[href*="/u"]').length; 
var c = a-b; 
    if(c <= 1) { 
    $('.topics_name').append('<div title="'+c+' New Post" id="newTops">'+c+'</div>'); 
    } 
    }); 

Только для хаотичности я дам вам длину вар а и бподсчет hrefs затем вычитая

а = 15 б = 25

Я хочу, чтобы вычесть эти два, как в варе с

15-25

Хотя я получаю -25 разобраны?

Любые предложения

+1

вы можете поделиться html также –

+0

yah и предупредили ли вы, что значения a, b .. ?? – Gautam3164

ответ

2

Попробуйте с ParseInt как

var a = parseInt($('#recent_topics').find('a[href*="/u"]').filter(':contains("'+myName+'")').length); 
var b = parseInt($('#recent_topics').find('a[href*="/u"]').length); 
+1

не требуется, так как 'length' уже имеет значение int –

+0

И даже если * длина * была строкой, [оператор вычитания] (http://www.ecma-international.org/ecma-262/5.1/#sec-11.6 .2) все равно преобразует аргументы в Number. – RobG

0

Если вы получаете эти значения, то используйте parseInt, чтобы преобразовать его в integer,

var c = parseInt(a)-parseInt(b); 
0

использовать parseFloat для получения результата

$(function() { 
var getName = $('#fa_welcome').text(); 
var myName = getName.replace('Welcome ',""); 
var a = parseFloat($('#recent_topics').find('a[href*="/u"]').filter(':contains("'+myName+'")').length); 
var b = parseFloat($('#recent_topics').find('a[href*="/u"]').length); 
var c = a-b; 
    if(c <= 1) { 
    $('.topics_name').append('<div title="'+c+' New Post" id="newTops">'+c+'</div>'); 
    } 
    }); 
Смежные вопросы