html5支持input[type=text]
元素的占位符属性,但我需要处理不兼容的浏览器.我知道有一千个插件用于占位符,但我想创建1001个.
我能够获得input[placeholder]
元素的句柄但是尝试获取占位符属性的值是返回undefined - $("input[placeholder]").attr("placeholder")
.
我正在使用jquery 1.6.2.
这是jsfiddle.我修改了代码以在兼容html5的浏览器中工作,仅用于测试目的.
HTML
<input type="text" name="email" size="10" placeholder="EMAIL ADDRESS">
Run Code Online (Sandbox Code Playgroud)
jQuery的
function SupportsInputPlaceholder() {
var i = document.createElement("input");
return "placeholder" in i;
}
$(document).ready(function(){
if(!SupportsInputPlaceholder()) {
//set initial value to placeholder attribute
$("input[placeholder]").val($("input[placeholder]").attr("placeholder"));
//create event handlers for focus and blur
$("input[placeholder]").focus(function() {
if($(this).val() == $(this).attr("placeholder")) {
$(this).val("");
}
}).blur(function() {
if($(this).val() == "") {
$(this).val($(this).attr("placeholder"));
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
感谢任何和所有的帮助,B
我正在尝试使用div设置一个新的自定义属性值attr()
.我发现它可以使用.attr( attributeName, value )
,但是当我尝试它时它不起作用.
以下是我感兴趣的代码部分:
$('#amount').attr( 'datamin','1000')
Run Code Online (Sandbox Code Playgroud)
和具有自定义属性的div是
<div id="amount" datamin=""></div>
Run Code Online (Sandbox Code Playgroud)
这是整个例子:
$(function() {
$( "#slider-range" ).slider({
range: true,
min: <?php echo $min_val;?>,
max: <?php echo $max_val;?>,
values: [ <?php echo $min_val;?>, <?php echo $max_val;?> ],
slide: function( event, ui ) {
$( "#amount" ).html( "<?php echo $currency_chk_i;?>" + ui.values[ 0 ] + " - <?php echo $currency_chk_i;?>" + ui.values[ 1 ] );
$('#amount').attr( 'datamin','1000');
},
change: function(event, ui) {
// when the user …
Run Code Online (Sandbox Code Playgroud) 不知道为什么这不起作用.
当人们点击我的应用程序的"编辑"按钮时,禁用的文本字段变得可编辑:
$("#bewerken").click(function(e) {
$("input[disabled='disabled']").removeAttr('disabled');
});
Run Code Online (Sandbox Code Playgroud)
然后我想在用户保存时再次禁用文本字段; 我将此代码绑定到我的保存按钮:
$("#save_school_changes").click(function(e) {
//stuff
$.ajax({
type: "POST",
url: "/school/save_changes",
data: { //stuff },
success: function(data)
{
$("#feedback_top").html("<p>" + data['message'] + "</p>").slideDown('slow').delay(2000).slideUp();
$("input[type='text']").attr('disabled', 'disabled');
}
});
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该再次禁用文本字段.但是,这似乎不适用于Chrome.它在Firefox中有效.我还没有机会在IE或Safari中测试.有什么方法可以在Chrome中使用它吗?非常感谢!
我有这种模式的元素:
<div data-image="{imageurl}" ...></div>
Run Code Online (Sandbox Code Playgroud)
我想将这些元素设置background-image
为data-image
.我测试这个CSS代码:
div[data-image] {
border: 2px solid black;
background-image: attr(data-image url);
}
Run Code Online (Sandbox Code Playgroud)
边框显示正确但背景没有发生怎样才能用css(不是js或jq)修复此代码?
我在屏幕顶部有一个10px的条,当点击时,我希望它的动画高度为40px,然后再次点击,动画回到10px.我尝试更改div的id,但它不起作用.我怎么能让这个工作,或者有更好的方法来做到这一点?
身体html:
<div id="topbar-show"></div>
CSS:
#topbar-show { width: 100%; height: 10px; background-color: #000; }
#topbar-hide { width: 100%; height: 40px; background-color: #000; }
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$(document).ready(function(){
$("#topbar-show").click(function(){
$(this).animate({height:40},200).attr('id', 'topbar-hide');
});
$("#topbar-hide").click(function(){
$(this).animate({height:10},200).attr('id', 'topbar-show');
});
});
Run Code Online (Sandbox Code Playgroud) 在rails中我生成一个带有两个字符串的模型,并希望添加更多.我该怎么做呢?
我似乎遇到了代码问题.我需要说:
if ( $('html').attr('lang').val() == 'fr-FR' ) {
// do this
} else {
// do that
}
Run Code Online (Sandbox Code Playgroud)
当我检查控制台时,我只是得到一个错误,告诉我这不是一个功能.帮助将不胜感激.
谢谢,
我有一个CompositeComponent(EditText + ImageButton)当点击按钮时,将清除edittext内容.它工作正常.我的问题是为我的组件设置属性.我使用declare-styleable来设置我的组件的属性.
我成功设置了minLines,maxLines和textColor.
如何通过xml将inputtype设置为我的组件.
我的attributes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CET">
<attr name="MaxLines" format="integer"/>
<attr name="MinLines" format="integer"/>
<attr name="TextColor" format="color"/>
<attr name="InputType" format="integer" />
<attr name="Hint" format="string" />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
并在main_layout.xml中使用mycomponent:
<com.test.ui.ClearableEditText
xmlns:cet="http://schemas.android.com/apk/res/com.test.ui"
android:id="@+id/clearableEditText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
cet:MaxLines="2"
cet:MinLines="1"
cet:TextColor="#0000FF"
cet:InputType="" <---I cant set this property--------->
cet:Hint="Clearable EditText Hint">
</com.test.ui.ClearableEditText>
Run Code Online (Sandbox Code Playgroud)
普通的Edittext用法:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned" <--------I want to use this property--------> >
Run Code Online (Sandbox Code Playgroud)
我不能在我的attribute.xml中使用ENUM.怎么引用android:inputType="numberSigned"
我的 cet:InputType
?
编辑:
这就是我在ClearableEditText.java中分配属性的方法
TypedArray a = getContext().obtainStyledAttributes(attrs,R.styleable.CET,0, 0);
int minLines = a.getInt(R.styleable.CET_MinLines, 1); …
Run Code Online (Sandbox Code Playgroud) 我在我的类中动态创建了一个实例变量:
class Mine
attr_accessor :some_var
def intialize
@some_var = true
end
def my_number num
self.instance_variable_set "@my_#{num}", num
end
end
Run Code Online (Sandbox Code Playgroud)
我@my_#{num}
现在如何制作attr值?
例如,我希望能够这样做:
dude = Mine.new
dude.my_number 1
dude.my_1
=> 1
Run Code Online (Sandbox Code Playgroud) attr ×10
jquery ×5
android ×2
html ×2
attributes ×1
conditional ×1
css ×1
height ×1
if-statement ×1
javascript ×1
model ×1
r.java-file ×1
ruby ×1
url ×1