Я хочу получить правильное положение элемента. Я пробовал attr('right')
, и я прочитал документ API относительно .position().right
, который не существует (я считаю).
http://jsfiddle.net/xavi3r/vcuq7/
Я хотел бы указать правильное значение для.
Я хочу получить правильное положение элемента. Я пробовал attr('right')
, и я прочитал документ API относительно .position().right
, который не существует (я считаю).
http://jsfiddle.net/xavi3r/vcuq7/
Я хотел бы указать правильное значение для.
Вы хотите найти значение свойства CSS right
?
$('#foo').css('right');
В простом Javascript:
document.getElementById('foo').style.right;
Но если вы хотите найти вычисленное расстояние от правого края элемента до правого края другого, тогда вам придется сделать это самостоятельно, объединив .position().left
и .offsetWidth
Мне кажется, что это работает:
jQuery('#elem').offset().left + jQuery('#elem').width()
$(document).width() - ($('#elem').offset().left + $('#elem').width());
должно предоставить вам пространство с правой стороны элемента, которое затем можно установить как значение для свойства "right" позиции элемента;
вы можете попробовать .css
.css("right");
Значение CSS допустимо только в том случае, если оно задано с помощью стиля или $.css().
Но если вам нужно получить правильную позицию объекта, вы должны сделать это, используя javascript/jquery.
Несмотря на то, что существуют некоторые допустимые решения, важно отметить, что $.fn.width() не учитывает заполнение и границы. Поэтому лучше использовать outerWidth().
Пример:
$(document).width() - ($('#elem').offset().left + $('#elem').outerWidth());
Вы даже можете создать функцию $.fn, чтобы получить значение:
$.fn.right = function() {
return $(document).width() - (this.offset().left + this.outerWidth());
}
И затем используйте его:
$('#elem').right();
Как отмечено @avernet в комментариях, эквивалент гипотетического .position(). right будет выглядеть следующим образом:
$('#foo').offsetParent().width() - ($('#foo').position().left + $('#foo').width());