所以我试图使用jQuery获取元素的宽度。
class GameScene: SKScene, MPMediaPickerControllerDelegate, AVAudioPlayerDelegate {
var isMediaPickerOne = false
var isMediaPickerTwo = false
if node.name == "addmusictoright" {
mediaPicker2 = MPMediaPickerController(mediaTypes: .AnyAudio)
if let picker = mediaPicker2{
isMediaPickerTwo = true
isMediaPickerOne = false
print("Successfully open media picker Left")
picker.delegate = self
picker.allowsPickingMultipleItems = false
picker.showsCloudItems = false
picker.prompt = "Please pick one song!"
self.view?.window?.rootViewController!.presentViewController(picker, animated: true, completion: nil)
} else {
print("PICKER WONT OPEN")
}
if node.name == "addmusictoleft" {
mediaPicker = MPMediaPickerController(mediaTypes: .AnyAudio)
if let picker2 = mediaPicker{
isMediaPickerOne = true
isMediaPickerTwo = false
print("Successfully open media picker Left")
picker2.delegate = self
picker2.allowsPickingMultipleItems = false
picker2.showsCloudItems = false
picker2.prompt = "Please pick one song!"
self.view?.window?.rootViewController!.presentViewController(picker2, animated: true, completion: nil)
} else {
print("PICKER WONT OPEN")
}
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
if isMediaPickerOne {
isMediaPickerTwo = false
let aMediaItem = mediaItemCollection.items[0] as MPMediaItem
music = aMediaItem
NSLog("\(aMediaItem.title)selected")
let url: NSURL = (music.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
player = AVPlayer(URL: url)
player.pause()
}
if isMediaPickerTwo {
isMediaPickerOne = false
let aMediaItem2 = mediaItemCollection.items[0] as MPMediaItem
music2 = aMediaItem2
NSLog("\(aMediaItem2.title)selected")
let url2: NSURL = (music2.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
player2 = AVPlayer(URL: url2)
player2.pause()
}
}

alert($("#theList li:eq(0)").offsetWidth);

答案 0 :(得分:4)
jQuery具有$(elem).width()
函数,返回元素
offsetWidth
alert($("#theList li:eq(0)").width());

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol id="theList">
<li>The quick brown fox</li> <!--also you forgot closing tag -->
</ol>
&#13;
答案 1 :(得分:1)
您正在将jQuery和标准Javascript混合在一起。
要使用.outerWidth,您需要访问DOM元素:
alert($("#theList li:eq(0)")[0].offsetWidth);
或者你可以使用jQuery的.outerWidth():
alert($("#theList li:eq(0)").outerWidth());
答案 2 :(得分:0)
offsetWidth是HTML Element的Readonly属性。因此,您应该使用此机制首先获取选择的第一个元素,然后为您提供jQuery选择的HTMLElement,然后获取它的属性:
$('#theList li:eq(0)')[0].offsetWidth