I had a recent requirement that needed me to change the values in some input fields in a targetted way on a VF page. My first thought was to assign a dynamic ID to the <apex:inputfield> only to find that you need concrete values in here.
Found a clever way round this that allows you to find fields by their <apex:inputfield styleclass="{!variable}"
As the JavaScript function getByElementClass is not support in all browsers I needed to write something quick and functional (read dirty) that did the job without using any external libraries or Frameworks i.e. jQuery Here is a very simple JS function that will retrieve all the elements of a certain classname to allow you to 'do stuff' to them.
function getElementByClassName(cl) { var elements = []; var elem = document.getElementsByTagName('input'); for (var i = 0; i < elem.length; i++) { if (elem[i].className.indexOf(cl)!=-1) elements.push(elem[i]); } return elements; };Not rocket science but you can extend it to use regular expressions etc... and all you need to do it pass it the classname you are looking for. Won't solve a lot of problems but it definitely solved one for me today :)