я есть «UID» атрибут и его значение в моем теге «тело» ...JQuery GetAttribute
$(document).ready(regFunct());
function regFunct(){
alert($("body").attr("uid"));
}
, но он говорит, «не определено». что-то не так?
я есть «UID» атрибут и его значение в моем теге «тело» ...JQuery GetAttribute
$(document).ready(regFunct());
function regFunct(){
alert($("body").attr("uid"));
}
, но он говорит, «не определено». что-то не так?
попробовать:
$(document).ready(function(){
regFunct();
});
function regFunct(){
alert($("body").attr("uid"));
}
Или даже '$ (document) .ready (regFunct);' – BoltClock
Или даже $ (function() {regFunct ();}); – TheVillageIdiot
@TheVillageIdiot: он тоже возвращает неопределенный ... он возвращает окно предупреждения и говорит «undefined»; – theHack
Вы помещаете возвращаемого значения из regFunct
в метод .ready()
обработчика. То есть, undefined
, потому что ваша функция ничего не возвращает.
Вам необходимо пройти в ссылке функции, опуская скобки:
$(document).ready(regFunct);
он тоже не работает ... – theHack
@AfrigAminuddin: единственное объяснение тогда в том, что тэг '' не имеет свойства "uid »: Рабочий пример: http://www.jsfiddle.net/PkngP/ – jAndy
Это не определено в Internet Explorer, потому что атрибут uid не является допустимым атрибутом для тега body. Посмотрите на мой ответ для решения. – raRaRa
Привет добавления пользовательского атрибута является плохое поведение. посмотрите на http://www.w3schools.com/tags/tag_body.asp, вы не будете атрибутом uid.
Если вы хотите сохранить свои данные. использовать $.data
(см документацию jQuery site)
// save the value
$('body').data('uid', mycustomvalue);
// retrieve the value
$('body').data('uid');
Если данные поступают от сервера, вы все еще можете сделать
<script type="text/javascript">
$(function() {
$('body').data('uid', '<?php echo $_GET[uid] ?>');
});
</script>
проблема в том, что .. . Я храню данные со стороны сервера ... – theHack
$(document).ready(regFunct);
набор для REL тегов и проверить!
function regFunct(){
alert($("body").attr("rel"));
}
http://jsfiddle.net/xysjt/ example – Harish
UPDATE: Это, кажется, не определено в Internet Explorer, так как UID не является известным атрибутом. Исправление было бы использовать jQuery.data()
для вставки данных в элемент.
$(document).ready(regFunct());
function regFunct(){
$('body').data('uid', 1337);
alert($('body').data('uid'));
}
Но вам придется назначать uid самостоятельно. Например, вы можете сделать это через <script>
на странице.
<script type="text/javascript">
$(document).ready(setData());
function setData(){
$('body').data('uid', 1337);
}
</script>
Подробнее о jQuery.data() на http://api.jquery.com/jQuery.data/
Пример работы: http://jsfiddle.net/6Bwtt/1/
НО если вы пытаетесь сохранить данные на странице с серверной стороны, вы могли бы просто иметь некоторые невидимый элемент после тела, например <div id="uid" style="display:none;">Your ID here</div>
, затем извлеките его, используя $("#uid").html();
Voila! :)
@ Baptiste Pernet - Конечно, вы можете использовать javascript для хранения всех данных, которые вам нужны, но иногда людям нравится простое решение, которое работает без особых проблем. Некоторым людям, похоже, нелегко найти способ, как это сделать: $ ('body'). Data ('uid', yourServerSideID). – raRaRa
@bolt: да, я знаю, что у меня есть другой атрибут «id» в теге body ... мне нужна другая переменная, которая будет сохранена на теге body – theHack
Я бы не добавил новый атрибут к телу элемент. Взгляните на jQuery.data() - http://api.jquery.com/jQuery.data/ – raRaRa