How to change the HTML Output of a view?
Drupal likes to put &lt;span&gt; and &lt;div&gt; around every item. When you don't like that, you can override the PHP file that's causing this.

Look in the sites/all/modules/views/theme folder at the views-view-list.tpl.php, views-view-field.tpl.php and views-view-fields.tpl.php files.

Save a copy of these files in your own theme's 'templates' folder. Then you can edit the copies to strip code that makes  &lt;span&gt; and &lt;div&gt; etc. You should also rename your version of these files according to the view's template suggestions so the changes only affect your view.

I used this for a view where I wanted to make 3 columns, so I wanted the classes li_1, li_2 and li_3 (in file views-view-list.tpl.php)

&lt;?php
// $Id: views-view-list.tpl.php,v 1.3 2008/09/30 19:47:11 merlinofchaos Exp $
/**
 * @file views-view-list.tpl.php
 * Default simple view template to display a list of rows.
 *
 * - $title : The title of this group of rows.  May be empty.
 * - $options['type'] will either be ul or ol.
 * @ingroup views_templates
 */

global $cnt_ul;
global $cnt_li;
$cnt_ul++;

$classNameUl = (($cnt_ul % 3) == 0)? "ul_". $cnt_ul ." last" : "ul_". $cnt_ul;
?&gt;
&lt;ul class="&lt;?php print $classNameUl ?&gt;"&gt;
&lt;?php
foreach ($rows as $id =&gt; $row): $cnt_li++;
$className = (($cnt_li % 3) == 0)? "li_". $cnt_li ." last" : "li_". $cnt_li;
?&gt;
&lt;li class="&lt;?php print $className ?&gt;"&gt;&lt;?php print $row; ?&gt;&lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ul&gt;