Тернарный оператор?
$("<li />").html((showinfo == 'action1') ? 'Somehtml' : 'Other html');
Важно понимать, что ваш первый бит кода интерпретируется как одно утверждение, а не два:
$("<li />")
.html('Somehtml')
//Is the same as:
$("<li />").html('Somehtml');
Вы запутались, потому что не используете точки с запятой для завершения своих утверждений. JavaScript позволяет поддерживать устаревший код, но если вы пишете код сейчас, вам действительно следует использовать его.