I think your best bet is to take a look at Otto’s post all about the comment form and functions, here: http://ottopress.com/2010/wordpress-3-0-theme-tip-the-comment-form/
If you want to cut to the chase, you can add this function to your functions.php:
function my_fields($fields) {
$fields['new'] = '<p>Some new input field here</p>';
return $fields;
}
add_filter('comment_form_default_fields','my_fields');
Then set new defaults, changing your HTML and Class/ID’s as you like:
$defaults = array(
'fields' => apply_filters( 'comment_form_default_fields', $fields ),
'comment_field' => '<p class="comment-form-comment">...',
'must_log_in' => '<p class="must-log-in">...',
'logged_in_as' => '<p class="logged-in-as">...',
'comment_notes_before' => '<p class="comment-notes">...',
'comment_notes_after' => '<dl class="form-allowed-tags">...',
'id_form' => 'commentform',
'id_submit' => 'submit',
'title_reply' => __( 'Leave a Reply' ),
'title_reply_to' => __( 'Leave a Reply to %s' ),
'cancel_reply_link' => __( 'Cancel reply' ),
'label_submit' => __( 'Post Comment' ),
);
In this case, I’m unsure if you can apply a class or ID directly to the “cancel reply link”. You can try wrapping it in a <span>
tag here, or just use some creative javascript to find it and apply a class:
$('a:contains("Cancel Reply")').addClass('cancel-reply-link');