편집하다:
이외의 다른 값을 사용 _blank
하면 모바일 브라우저에서 새 창 / 탭을 열지 않습니다.
예를 들어 새 창 / 탭을 열어야하는 경우 :
-
이것은 모든 브라우저, 심지어 모바일 브라우저에서 작동 합니다 :
target="_blank"
. -
이 작동하지 않는 모바일 브라우저,하지만 작동합니까 데스크톱 브라우저에서을 :
target="new"
.
–
이 방법이 작동하지만 더 나은 방법이 있는지 또는 내가 얻은 방법이 올바른 / 유일한 방법인지 확실하지 않습니다.
기본적으로 내가하는 일은 모든 target="_new"
또는 target="_blank"
속성 값을 로 바꾸는 것입니다. target="nw"
이렇게하면 하나의 새 창이 열리고 그 안에 여러 개의 창으로 사용자를 압도하지 않도록 다른 모든 새 창이 열립니다.
” 새 창에서 열기 ” title=""
속성 도 추가 합니다.
그래서 내가 만든 솔루션은 다음과 같습니다.
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
두 가지 .attr();
방법에 주목하십시오 .
이것이 요소에 두 개의 속성을 추가하는 올바른 방법입니까?
시도 .attr('target','nw','title','Opens in a new window')
했지만 작동하지 않았습니다.
제가 묻는 이유는 DYR (Do n’t Repeat Yourself) 원칙 때문입니다. 그래서 제가 가지고있는 코드를 개선 할 수 있다면 훌륭합니다. 그렇지 않다면 그것은 그 자체입니다.
감사.
답변
작동해야합니다 :
.attr({
target:"nw",
title:"Opens in a new window",
"data-value":"internal link" // attributes which contain dash(-) should be covered in quotes.
});
참고 :
” 여러 속성을 설정할 때 속성 이름을 따옴표로 묶는 것은 선택 사항입니다.
경고 : ‘class’속성을 설정할 때 항상 따옴표를 사용해야합니다!
.attr에 대한 jQuery 문서 (2016 년 9 월)에서 :
document.createElement ()를 통해 생성 된 입력 또는 버튼 요소의 유형 속성을 변경하려고하면 Internet Explorer 8 이상에서 예외가 발생합니다.
편집 :
향후 참조를 위해 … 사용 하는 단일 속성 을 얻으 려면
var strAttribute = $(".something").attr("title");
단일 속성 을 설정 하려면
$(".something").attr("title","Test");
여러 속성 을 설정 하려면 모든 것을 {…}로 래핑해야합니다.
$(".something").attr( { title:"Test", alt:"Test2" } );
편집-확인란에서 ‘선택됨’속성을 가져 오거나 설정하려는 경우 …
jQuery 1.6 이상 부터 사용해야합니다.prop()
.prop () 메서드는 속성 값을 명시 적으로 검색하는 방법을 제공하는 반면 .attr ()은 속성을 검색합니다.
… checked 속성에 대해 기억해야 할 가장 중요한 개념은 checked 속성과 일치하지 않는다는 것입니다. 속성은 실제로 defaultChecked 속성에 해당하며 확인란의 초기 값을 설정하는 데만 사용해야합니다. 확인 된 속성 값은 확인란의 상태에 따라 변경되지 않지만 확인 된 속성은 변경됩니다.
따라서 체크 박스의 상태 를 확인 하려면 다음을 사용해야합니다.
$('#checkbox1').prop('checked'); // Returns true/false
또는 확인란을 선택 또는 선택 취소로 설정하려면 다음을 사용해야합니다.
$('#checkbox1').prop('checked', true); // To check it
$('#checkbox1').prop('checked', false); // To uncheck it
답변
적절한 방법은 다음과 같습니다.
.attr({target:'nw', title:'Opens in a new window'})
답변
앵커 태그에 부트 스트랩 속성을 동적으로 추가하면 이보다 많은 도움이됩니다.
$(".dropdown a").attr({
class: "dropdown-toggle",
'data-toggle': "dropdown",
role: "button",
'aria-haspopup': "true",
'aria-expanded': "true"
});
답변
이 같은:
$(myObj).attr({"data-test-1": num1, "data-test-2": num2});
답변
중괄호를 사용하고 추가하려는 모든 속성을 안에 넣으십시오.
예:
$('#objId').attr({
target: 'nw',
title: 'Opens in a new window'
});
답변
Multiple Attribute
var tag = "tag name";
createNode(tag, target, attribute);
createNode: function(tag, target, attribute){
var tag = jQuery("<" + tag + ">");
jQuery.each(attribute, function(i,v){
tag.attr(v);
});
target.append(tag);
tag.appendTo(target);
}
var attribute = [
{"data-level": "3"},
];