Why triangles? Why not quads using GL_QUADS?
Also why to batch in first place? Thats a lot of work to handle batching correctly. And using a UI with 100 elements shouldn't make a huge performance drop, right?
Like Jeremy said, GL_QUADS is deprecated.
If you think batching is a lot of work, you shouldn't be working with pure OpenGL.
Instead, use a library like LibGDX, jME, or whatever.
A single UI element might be made up of many quads. Imagine a typical checkbox: a nine-patch for the background, a quad for the checkbox icon, and N quads for each character in the text. That's already well over a dozen quads just for one UI element. You're looking at potentially hundreds of quads that need to be rendered.
And if you aren't using sprite sheets, then not only are you calling GL for every quad, but you are also incurring texture switches.
Besides; you don't have immediate mode in modern OpenGL, so you're going to be writing VBOs anyways...
On desktop it probably won't be too bad, but on mobile those things can definitely add up and slow down your game.