В функции PHP, где вы выводите все это, вы можете добавить это внутри тегов скрипта, что даст вам то, что вы хотите (из того, что я могу понять).
<script type="text/javascript>
var uSelect = document.getElementById('user_select');
uSelect.onSelect = function() {
alert(this.id);
}
function selectUser(anchor) {
//remove all 'selected' classes from $user_selector child divs
//add 'selected' class to parent div.user of anchor
uSelect.onSelect();
}
</script>
Но, еще один ресурс, на который я хотел бы обратить внимание: если вы хотите просто объявить функцию и хотите узнать, как назначить любой данный объект как «this» внутри нее, функции Javascript должны иметь методы <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/call" rel="nofollow noreferrer">call</a>
и <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/apply" rel="nofollow noreferrer">apply</a>
.
Например: вы можете попробовать что-то подобное.
<script type="text/javascript>
var onSelect = function() {
alert(this.id);
}
function selectUser(anchor) {
//remove all 'selected' classes from $user_selector child divs
//add 'selected' class to parent div.user of anchor
var node = anchor;
while(node && node.parentNode) {
if(node.getAttribute('id') == 'user_select') {
//apply(thisRef, argsArray)
//call(thisRef, arg1, arg2 [...])
onSelect.apply(node);
break;
}
node = node.parentNode;
}
}
</script>